目录

  • Log4j 下载地址
  • 文件大小分割日志文件
  • 以日期分割每天产生一个日志文件
  • 自定义信息输出到日志文件

Log4j 下载地址


Log4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件

log4j-1.2.17.jar:https://repo1.maven.org/maven2/log4j/log4j/1.2.17/log4j-1.2.17.jar

Maven

<!-- https://mvnrepository.com/artifact/log4j/log4j -->
<dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version>
</dependency>

文件大小分割日志文件

效果如下

logslog.loglog.log.1log.log.2log.log.3

log4j.properties 配置文件

### 将等级为debug的日志输出到console和file, console和file的定义在下面 ###
log4j.rootLogger = DEBUG,console,file### console 配置输出到控制台 ###
log4j.appender.console = org.apache.log4j.ConsoleAppender
log4j.appender.console.Target = System.out
log4j.appender.console.Threshold = DEBUG
log4j.appender.console.layout = org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern = [%c] - %m%n
#log4j.appender.console.layout.ConversionPattern =  %d{ABSOLUTE} %5p %c{ 1 }:%L - %m%n### file 配置输出到文件 ###
### RollingFileAppender: 以文件大小分割达到指定大小就产生新文件,  MaxFileSize: 指定文件大小,  MaxBackupIndex: 最多保存多少个文件 ###
log4j.appender.file = org.apache.log4j.RollingFileAppender
log4j.appender.file.MaxFileSize = 10kb
log4j.appender.file.MaxBackupIndex = 10
log4j.appender.file.File = logs/log.log
log4j.appender.file.Threshold = DEBUG
log4j.appender.file.Append = true
log4j.appender.file.layout = org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern = [%p] [%d{yyyy-MM-dd HH:mm:ss}] [%c]%m%n
#log4j.appender.file.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n### 设置输出sql的级别,其中logger后面的内容全部为jar包中所包含的包名 ###
log4j.logger.org.mybatis=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.ResultSet=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG
#log4j.logger.java.sql.Connection=DEBUG

以日期分割每天产生一个日志文件

效果如下

logslog.loglog.log_2021-01-15.loglog.log_2021-01-16.loglog.log_2021-01-17.log

log4j.properties 配置文件

### 将等级为debug的日志输出到console和file, console和file的定义在下面 ###
log4j.rootLogger = DEBUG,console,file### console 配置输出到控制台 ###
log4j.appender.console = org.apache.log4j.ConsoleAppender
log4j.appender.console.Target = System.out
log4j.appender.console.Threshold = DEBUG
log4j.appender.console.layout = org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern = [%c] - %m%n
#log4j.appender.console.layout.ConversionPattern =  %d{ABSOLUTE} %5p %c{ 1 }:%L - %m%n### file 配置输出到文件 ###
### DailyRollingFileAppender: 以日期分割每天产生一个文件,  DatePattern: 日志文件名称格式 ###
log4j.appender.file = org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.DatePattern  = '_'yyyy-MM-dd'.log'
log4j.appender.file.File = logs/log.log
log4j.appender.file.Threshold = DEBUG
log4j.appender.file.Append = true
log4j.appender.file.layout = org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern = [%p] [%d{yyyy-MM-dd HH:mm:ss}] [%c]%m%n
#log4j.appender.file.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n### 设置输出sql的级别,其中logger后面的内容全部为jar包中所包含的包名 ###
log4j.logger.org.mybatis=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.ResultSet=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG
#log4j.logger.java.sql.Connection=DEBUG

自定义信息输出到日志文件

  1. 在要输出日志的类中加入 Log4j

  2. 包一定不要导错,导包: import org.apache.log4j.Logger;

  3. 日志对象, 参数为当前类的class

static Logger logger = Logger.getLogger(UserMapperTest.class);
  1. 使用
import org.apache.log4j.Logger;
import org.junit.Test;public class UserMapperTest {static Logger logger = Logger.getLogger(UserMapperTest.class);@Testpublic void testLog4j() {logger.info("UserMapperTest testLog4j info --> 日志输出");logger.debug("UserMapperTest testLog4j debug --> 日志输出");logger.error("UserMapperTest testLog4j error --> 日志输出");}
}

运行完可以在日志文件中看到我们输出的信息

[DEBUG] [2021-01-17 00:07:18] [com.pro.dao.UserMapper.getUserById]==>  Preparing: select * from users where id = ?
[DEBUG] [2021-01-17 00:07:18] [com.pro.dao.UserMapper.getUserById]==> Parameters: 1(Integer)
[DEBUG] [2021-01-17 00:07:18] [com.pro.dao.UserMapper.getUserById]<==      Total: 1
[INFO] [2021-01-17 00:15:01] [com.pro.dao.UserMapperTest]UserMapperTest testLog4j info --> 日志输出
[DEBUG] [2021-01-17 00:15:01] [com.pro.dao.UserMapperTest]UserMapperTest testLog4j debug --> 日志输出
[ERROR] [2021-01-17 00:15:01] [com.pro.dao.UserMapperTest]UserMapperTest testLog4j error --> 日志输出

Log4j配置按照文件大小和日期分割日志文件相关推荐

  1. python logging 日志管理系统,handlers.TimedRotatingFileHandler~按照时间自动分割日志文件的bug

    handlers.TimedRotatingFileHandler~按照时间自动分割日志文件 此处的时间是时间周期,而不是一个严格的时间段: 例如是从 01:30:04 到 01:31:04 这个时间 ...

  2. lumberjack 实现按时间分割日志文件

    欢迎光临小弟的博客maliweb.top lumberjack 实现按时间分割日志文件(如有问题 欢迎各位大佬指教感谢) loggerWrite := &lumberjack.Logger{F ...

  3. linux输出和错误信息文件,Log4j配置将错误信息输出到指定文件中[linux tomcat]

    在使用log4j的时候,我们常常需要将错误信息输出到指定路径的文件中 以便于以后查询出错信息 在网上搜了很多资料都是写的windows下的输出方法,而且很多都是不负责任的直接E:// 很多时候我们希望 ...

  4. python 日志不会按照日期分割_python 按照日期切分大日志文件(重点)和按照指定大小切分日志文件...

    #! /usr/bin/env python # -*- coding:utf8 -*- # 切分nginx 按照日期切分日志文件 from __future__ import division im ...

  5. Log4Net 配置日志按日期和日志级别分类写入

    配置效果图: 配置代码: 1 <?xml version="1.0" encoding="utf-8" ?> 2 <log4net> 3 ...

  6. Linux下自动分割Nginx日志文件(三)-----Logrotate

    logrotate是个十分有用的工具,它可以自动对日志进行截断(或轮循).压缩以及删除旧的日志文件.例如,你可以设置logrotate,让/var/log/foo日志文件每30天轮循,并删除超过6个月 ...

  7. java log4j 文件_java log4j 日志文件

    开发中经常会用到log日志文件,根据业务需要可能不产生很大日志文件给维护和[排错带来了麻烦.所以我们希望能够每天或每个月产生一个日志文件,这样文件不至于过大. 或者根据日志文件大小来判断,超过规定大小 ...

  8. Log4j配置学习文档之二 处理日滚文件-模拟实现

    #模拟实现 定义监听器,监听器启动的时候初始化定时器 监听器 package com.tcsoft.license.util;import java.util.Calendar; import jav ...

  9. Linux 上使用 Linux Shell 脚本自动化按天分割、压缩(延迟压缩)和定期清理日志文件...

    2019-02-26 10:10:54 最近 Hgh这边有一个需求,需要对Linux服务器上的日志进行相应地自动化处理: 1) 定期清理:当分区的可使用空间超过一个预先设定好的阈值(如当分区的可使用空 ...

  10. java log4j 多个文件_java – Log4j:每个请求一个日志文件

    我们有一个weblogic批处理应用程序,它同时处理来自消费者的多个请求.我们使用log4j来记录目的.现在我们为多个请求登录一个日志文件.调试给定请求的问题与日志在单个文件中的所有请求一样繁琐. 所 ...

最新文章

  1. 接口测试要如何做数据准备
  2. 亲测有用的音乐推荐网站
  3. matlab的边缘检测方法,常用图像边缘检测方法及Matlab研究
  4. Linux 题目总结
  5. 厂商 push 不通排查指南
  6. jq之mousedown
  7. sql server 面试_SQL Server复制面试问题与解答
  8. 2021-08-26BERT: Pre-training of Deep Bidirectional Transformers forLanguage Understanding
  9. Python实现8中常用排序算法
  10. 烽火交换机S2000单独划分VLAN的方法
  11. Pano2VR 展示全景图
  12. 无线网首选dns服务器怎么设置,怎么设置无线路由器dns
  13. 什么是胖客户端和瘦客户端?什么是哑终端?
  14. visual studio 全局搜索 找不到文字
  15. 睡眠排序算法c语言实现,Linux 进程必知必会
  16. 评估 OKRs 的最佳频率是什么?
  17. samba服务器搭建详细配置
  18. u盘启动计算机看不到硬盘,解决办法:从U盘启动时找不到硬盘的解决方法
  19. QT+ffmpeg+SDL2播放视频流
  20. 深入HQL学习以及HQL和SQL的区别

热门文章

  1. Msm8960(APQ8064)平台的MSM-AOSP-kitkat编译适配(9):摄像头GPS传感器
  2. Centos7安装sqliteman
  3. AutoCAD二次开发_从入门到放弃
  4. 表白生成器PHP源码,表白网页在线生成源码
  5. 电子工程师的自我修养 - 20例电路讲解
  6. 测试英语的软件有哪些内容,小学英语课本点读软件有哪些?小学英语课本点读APP测评...
  7. 个性化的CRM具备的功能有哪些
  8. 学习新浪微博计数服务
  9. 西门子PLC丨虚拟机运行仿真器供物理主机使用
  10. ttl低电平接大电阻_FPGA中的上拉下拉电阻以及开漏推挽输出电路