在项目中,可能会产生非常多的日志记录,为了方便日志分析,一般可以将日志按级别输出到指定文件,本次就先说说log4j2的实现吧:
1、先加入log4j2依赖包
2、写一个java类进行测试,类文件中仅仅写几行日志:
package com.jessezeng.log4j2.test;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
public class Test {
private static Logger log=LogManager.getLogger(Test.class);
public static void main(String[] args) {
log.info("info test...................");
log.error("error test...................");
}
}
3、配置log4j2xml:
%d %-5p [%c] %m%n
/logs
${basePath}/common.log
${basePath}/common%d{yyyy-MM-dd}.log
${basePath}/error.log
${basePath}/error%d{yyyy-MM-dd}.log
filename="${common-msg}" filePattern="${rollingfile_common-msg}"
append="true">
filename="${error-msg}" filePattern="${rollingfile_error-msg}"
append="true">
%d{yyyy-MM-dd HH:mm:ss} %-5level %class{36} %L %M - %msg%xEx%n
需要注意的是ThresholdFilter的onMatch/onMismatch的三个选项值:ACCEPT/DENY/NEUTRAL,如果有多个ThresholdFilter,那么Filters是必须的,在Filters中,首先要过滤不符合的日志级别,把不需要的首先DENY掉,然后再ACCEPT需要的日志级别,同时也需要注意次序。
Linux下截取指定时间段日志并输出到指定文件
sed -n '/2019-04-22 16:10:/,/2019-04-22 16:20:/p' log.log > bbb.txt
log4j2 扩展日志级别,支持将系统日志与业务处理日志拆分
项目中,有时候需要对系统中已处理的一些业务数据日志进行提取分析,通常log4j默认提供的日志级别可能不够用,这时候我们就需要对日志级别进行扩展,以满足我们的需求. 本文就简单介绍一下log4j2的日志 ...
java实现将指定文件夹里所有文件路径输出到指定文件作为参数化文件给lr脚本使用
java实现将指定文件夹里所有文件路径输出到指定文件作为参数化文件给lr脚本使用 import java.io.BufferedReader; import java.io.BufferedWrite ...
zookeeper 日志输出到指定文件夹
最近在研究Zookeeper Storm Kafka, 顺便在本地搭了一套集群, 遇到了Zookeeper日志问题输出路径的问题, 发现zookeeper设置log4j.properties不能解决日 ...
windows 同时启动多个Tomcat 控制台日志(startup.bat)输出到指定文件中
1 .修改startup.bat第42行 call "%EXECUTABLE%" start %CMD_LINE_ARGS% 为 call "%EXECUTABLE%&q ...
TOMCAT控制台日志输出到指定文件中
1 .修改startup.bat第42行 call "%EXECUTABLE%" start %CMD_LINE_ARGS% 为 call "%EXECUTABLE%&q ...
C# Log4net根据日志等级输出到不同文件