主要是我网上想搜些相关知识发现都不是我想要的,所以我就来记录一下。
基本上大家用得比较多的日志就是log4j了,基本配置就是导入依赖,设置配置文件什么的就不详细说了。
### 设置Logger输出级别和输出目的地(控制台和文件夹) ###
log4j.rootLogger=debug, stdout,logfile
### 把日志信息输出到控制台 ###
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
###控制台输出的格式为.err红色字体###
log4j.appender.stdout.Target=System.err
###控制台输出的布局方式###
log4j.appender.stdout.layout=org.apache.log4j.SimpleLayout
### 把日志信息输出到文件:jbit.log ###
log4j.appender.logfile=org.apache.log4j.FileAppender
### 设置输出文件夹的名字 ###
log4j.appender.logfile.File=jbit.log
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
### 自定义输出日志的格式 ###
log4j.appender.logfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss}%l %F %p %m%n
#日志级别从高到低分为:
#A:off 最高等级,用于关闭所有日志记录。
#B:fatal 指出每个严重的错误事件将会导致应用程序的退出。
#C:error 指出虽然发生错误事件,但仍然不影响系统的继续运行。
#D:warn 表明会出现潜在的错误情形。
#E:info 一般和在粗粒度级别上,强调应用程序的运行全程。
#F:debug 一般用于细粒度级别上,对调试应用程序非常有帮助。
#G:all 最低等级,用于打开所有日志记录。
#Log4j提供的appender有以下几种:
#org.apache.log4j.ConsoleAppender(控制台),
#org.apache.log4j.FileAppender(文件),
#org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),
#org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),
#org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
# %d 输出日志时间点的日期或时间
# %l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。
# %F: 输出日志消息产生时所在的文件名称
# %p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL
# %m: 输出代码中指定的消息,产生的日志具体信息
# %n 输出一个回车换行符,Windows平台为“rn”,Unix平台为“n”
xml文件的结构还是这样的
然后想要将异常信息写入到指定log文件中,需要自定义方法。
参考error
先获取到error类型的log
private static Logger error = LogManager.getLogger("error");
public static void error(Throwable e) {
String msg = null;
msg = exception(e);
if (Constants.TEST) {
System.err.println(msg);
error.fatal(msg);
} else {
error.fatal(msg);
}
}
获取到异常的信息,然后通过fatal方法放入日志,fatal 指出每个严重的错误事件将会导致应用程序的退出。