log4j日志记录

来源:互联网 发布:sci hub 知乎 编辑:程序博客网 时间:2024/06/04 11:20
log4j.properties#1、log4j.rootLogger = [ level ] , appenderName, appenderName, …#level:是log4j的日志级别,优先级从高到低分别是ERROR、WARN、INFO、DEBUG。#appenderName:就是指定日志信息输出到哪个地方。可同时指定多个输出目的地。#其中,Log4j提供的appender有以下几种:#org.apache.log4j.ConsoleAppender(控制台),#org.apache.log4j.FileAppender(文件),#org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),#org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),#org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)log4j.rootLogger = trace,CONSOLE,xiongfeng,xiongfeng1log4j.logger.me=DEBUGlog4j.appender.CONSOLE = org.apache.log4j.ConsoleAppenderlog4j.appender.CONSOLE.Target = System.out#自由的日志记录格式(可自定义)log4j.appender.CONSOLE.layout = org.apache.log4j.PatternLayout#自定义日志的格式log4j.appender.CONSOLE.layout.ConversionPattern =  %d{ABSOLUTE} %5p %c{1}:%L [%t:%r]-xiongfeng- %m%n### \u8F93\u51FA\u5230\u65E5\u5FD7\u6587\u4EF6 ###log4j.appender.xiongfeng = org.apache.log4j.DailyRollingFileAppenderlog4j.appender.xiongfeng.File =D:/java/app.log#log4j.appender.zhangsanLog.File =/var/alldata/zhenduan/debug.log##写入文件的时候,是否往后追加写入log4j.appender.xiongfeng.Append = true## \u53EA\u8F93\u51FADEBUG\u7EA7\u522B\u4EE5\u4E0A\u7684\u65E5\u5FD7#在文件中输出debug以上级别的日志log4j.appender.xiongfeng.Threshold = DEBUG#'.'yyyy-MM-dd: \u6BCF\u5929\u4EA7\u751F\u4E00\u4E2A\u65B0\u7684\u6587\u4EF6log4j.appender.xiongfeng.DatePattern = '.'yyyy-MM-ddlog4j.appender.xiongfeng.layout = org.apache.log4j.PatternLayoutlog4j.appender.xiongfeng.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [%t:%r] - [%p] [%c{1}:%L] [%M] %m%n#它是 子Logger 是否继承 父Logger 的 输出源(appender) 的标志位。具体说,默认情况下子Logger会继承父Logger的appender,#也就是说子Logger会在父Logger的appender里输出。#若是additivity设为false,则子Logger只会在自己的appender里输出,而不会在父Logger的appender里输出。log4j.additivity.xiongfeng = false### \u8F93\u51FA\u5230\u65E5\u5FD7\u6587\u4EF6 ###log4j.appender.xiongfeng1 = org.apache.log4j.DailyRollingFileAppenderlog4j.appender.xiongfeng1.File =D:/java/app1.log#log4j.appender.zhangsanLog.File =/var/alldata/zhenduan/debug.log##写入文件的时候,是否往后追加写入log4j.appender.xiongfeng1.Append = true## \u53EA\u8F93\u51FADEBUG\u7EA7\u522B\u4EE5\u4E0A\u7684\u65E5\u5FD7#在文件中输出debug以上级别的日志log4j.appender.xiongfeng1.Threshold = ERROR#'.'yyyy-MM-dd: \u6BCF\u5929\u4EA7\u751F\u4E00\u4E2A\u65B0\u7684\u6587\u4EF6log4j.appender.xiongfeng1.DatePattern = '.'yyyy-MM-ddlog4j.appender.xiongfeng1.layout = org.apache.log4j.PatternLayoutlog4j.appender.xiongfeng1.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [%t:%r] - [%p] [%c{1}:%L] [%M] %m%nlog4j.additivity.xiongfeng1 = false
import org.apache.log4j.Logger;import org.apache.log4j.PropertyConfigurator;/** * 这个实例中,通过log4j.additivity.test.xml=false这一句取消了继承关系,这样XML的log就只会在A3中输出.另:不考虑日志级别,a.java, b.java, c.java 分别调用自己的logger,将日志分别写入到不同的文件中。这个需求主要是在配置文件中,给appender取个名字然后在调用时,使用名称的方式调用public static Logger loggerA = Logger.getLogger(“Alog”);public static Logger loggerB = Logger.getLogger(“Blog”);public static Logger loggerC = Logger.getLogger(“Clog”); * @author xWX330238 * */public class logClass1 {{PropertyConfigurator.configure(ClassLoader.getSystemResource("log4j.properties"));}public static Logger loger = Logger.getLogger("xiongfeng");public static void main(String[] args) {Logger loger1 = logClass2.getLogger("xiongfeng1");//Logger loger2 = logClass3.getLogger("");loger1.debug("debug1--error!!");loger1.info("message1-----!!!");loger1.error("error1!!!!!!!!!!!!");loger.debug("debug--error!!");loger.info("message-----!!!");loger.error("error!!!!!!!!!!!!");}}class logClass2 {public static Logger getLogger(String apperName) {return Logger.getLogger(apperName);}}class logClass3 {public static Logger getLogger(String apperName) {return Logger.getLogger(apperName);}}

具体参见

点击打开链接



原创粉丝点击