Log4j配置按照文件大小和日期分割日志文件
目录
- 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
自定义信息输出到日志文件
在要输出日志的类中加入 Log4j
包一定不要导错,导包:
import org.apache.log4j.Logger;
日志对象, 参数为当前类的class
static Logger logger = Logger.getLogger(UserMapperTest.class);
- 使用
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配置按照文件大小和日期分割日志文件相关推荐
- python logging 日志管理系统,handlers.TimedRotatingFileHandler~按照时间自动分割日志文件的bug
handlers.TimedRotatingFileHandler~按照时间自动分割日志文件 此处的时间是时间周期,而不是一个严格的时间段: 例如是从 01:30:04 到 01:31:04 这个时间 ...
- lumberjack 实现按时间分割日志文件
欢迎光临小弟的博客maliweb.top lumberjack 实现按时间分割日志文件(如有问题 欢迎各位大佬指教感谢) loggerWrite := &lumberjack.Logger{F ...
- linux输出和错误信息文件,Log4j配置将错误信息输出到指定文件中[linux tomcat]
在使用log4j的时候,我们常常需要将错误信息输出到指定路径的文件中 以便于以后查询出错信息 在网上搜了很多资料都是写的windows下的输出方法,而且很多都是不负责任的直接E:// 很多时候我们希望 ...
- python 日志不会按照日期分割_python 按照日期切分大日志文件(重点)和按照指定大小切分日志文件...
#! /usr/bin/env python # -*- coding:utf8 -*- # 切分nginx 按照日期切分日志文件 from __future__ import division im ...
- Log4Net 配置日志按日期和日志级别分类写入
配置效果图: 配置代码: 1 <?xml version="1.0" encoding="utf-8" ?> 2 <log4net> 3 ...
- Linux下自动分割Nginx日志文件(三)-----Logrotate
logrotate是个十分有用的工具,它可以自动对日志进行截断(或轮循).压缩以及删除旧的日志文件.例如,你可以设置logrotate,让/var/log/foo日志文件每30天轮循,并删除超过6个月 ...
- java log4j 文件_java log4j 日志文件
开发中经常会用到log日志文件,根据业务需要可能不产生很大日志文件给维护和[排错带来了麻烦.所以我们希望能够每天或每个月产生一个日志文件,这样文件不至于过大. 或者根据日志文件大小来判断,超过规定大小 ...
- Log4j配置学习文档之二 处理日滚文件-模拟实现
#模拟实现 定义监听器,监听器启动的时候初始化定时器 监听器 package com.tcsoft.license.util;import java.util.Calendar; import jav ...
- Linux 上使用 Linux Shell 脚本自动化按天分割、压缩(延迟压缩)和定期清理日志文件...
2019-02-26 10:10:54 最近 Hgh这边有一个需求,需要对Linux服务器上的日志进行相应地自动化处理: 1) 定期清理:当分区的可使用空间超过一个预先设定好的阈值(如当分区的可使用空 ...
- java log4j 多个文件_java – Log4j:每个请求一个日志文件
我们有一个weblogic批处理应用程序,它同时处理来自消费者的多个请求.我们使用log4j来记录目的.现在我们为多个请求登录一个日志文件.调试给定请求的问题与日志在单个文件中的所有请求一样繁琐. 所 ...
最新文章
- 接口测试要如何做数据准备
- 亲测有用的音乐推荐网站
- matlab的边缘检测方法,常用图像边缘检测方法及Matlab研究
- Linux 题目总结
- 厂商 push 不通排查指南
- jq之mousedown
- sql server 面试_SQL Server复制面试问题与解答
- 2021-08-26BERT: Pre-training of Deep Bidirectional Transformers forLanguage Understanding
- Python实现8中常用排序算法
- 烽火交换机S2000单独划分VLAN的方法
- Pano2VR 展示全景图
- 无线网首选dns服务器怎么设置,怎么设置无线路由器dns
- 什么是胖客户端和瘦客户端?什么是哑终端?
- visual studio 全局搜索 找不到文字
- 睡眠排序算法c语言实现,Linux 进程必知必会
- 评估 OKRs 的最佳频率是什么?
- samba服务器搭建详细配置
- u盘启动计算机看不到硬盘,解决办法:从U盘启动时找不到硬盘的解决方法
- QT+ffmpeg+SDL2播放视频流
- 深入HQL学习以及HQL和SQL的区别
热门文章
- Msm8960(APQ8064)平台的MSM-AOSP-kitkat编译适配(9):摄像头GPS传感器
- Centos7安装sqliteman
- AutoCAD二次开发_从入门到放弃
- 表白生成器PHP源码,表白网页在线生成源码
- 电子工程师的自我修养 - 20例电路讲解
- 测试英语的软件有哪些内容,小学英语课本点读软件有哪些?小学英语课本点读APP测评...
- 个性化的CRM具备的功能有哪些
- 学习新浪微博计数服务
- 西门子PLC丨虚拟机运行仿真器供物理主机使用
- ttl低电平接大电阻_FPGA中的上拉下拉电阻以及开漏推挽输出电路