Log4j日志工具类

时间:2022-01-14 10:46:43

配置文件

### 设置级别和目的地(这里多个目的地) ###

log4j.rootLogger = DEBUG,CONSOLE,D

### 这里的me是包,也就是在这个包记录日志时,是只记录debug及以上级别的日志

log4j.logger.test=DEBUG

### 输出到控制台 ###

log4j.appender.CONSOLE = org.apache.log4j.ConsoleAppender

log4j.appender.CONSOLE.Target = System.out

log4j.appender.CONSOLE.layout = org.apache.log4j.PatternLayout

log4j.appender.CONSOLE.layout.ConversionPattern = %d{ABSOLUTE} %5p %c{1}:%L - %m%n

### 保存异常信息到单独文件 ###

#
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
## 异常日志文件名
log4j.appender.D.File = logs/error.log
log4j.appender.D.Append = true
## 只输出ERROR级别以上的日志!!!
log4j.appender.D.Threshold = ERROR
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
#每天两次生成一个文件
log4j.appender.D.DatePattern = '.'yyyy-MM-dd-a
#yyyy-MM-dd-HH-mm #每分钟

导包

log4j-1.2.15.jar

示例代码

package pocket.total.util;

import org.apache.log4j.Logger;

public class Log4jUtil {
static Logger logger = Logger.getLogger(Log4jUtil.class);
/*
* ReqReady报错记录
*/

public static void readyError(String req, Player p1, Player p2){
/*** 获取输出信息的代码的位置 ***/
String location = "";
StackTraceElement[] stacks = Thread.currentThread().getStackTrace();
location = stacks[2].getClassName() + "." + stacks[2].getMethodName()
+ "(" + stacks[2].getLineNumber() + ")";
logger.error(location +" : " +req);
logger.error(p1.toString());
logger.error(p2.toString());
}