应用日志整理

来源:互联网 发布:吉利知豆怎么样 编辑:程序博客网 时间:2024/05/16 12:36

tomcat,默认被重定向到catalina.out 文件,这样就造成 catalina.out 文件不停的增长,不生成循环的日志文件。

--http://blog.csdn.net/zzcfrog/article/details/6668772


log4j参考:

http://blog.csdn.net/vean_system/article/details/7688194


同时使用commons-logging和Log4j

1)首先在classpath下寻找自己的配置文件commons-logging.properties,如果找到,则使用其中定义的Log实现类
2)如果找不到commons-logging.properties文件,则在查找是否已定义系统环境变量org.apache.commons.logging.Log,找到则使用其定义的Log实现类
3)否则,查看classpath中是否有Log4j的包,如果发现,则自动使用Log4j作为日志实现类
4)否则,使用JDK自身的日志实现类(JDK1.4以后才有日志实现类)
5)否则,使用commons-logging自己提供的一个简单的日志实现类SimpleLog


动态配置log4j生成的日志文件时,监听器的优化级为最高,且初始logger的时候,必须在设置环境变量之后。

示例:

#DEBUG , INFO ,WARN ,ERROR四种#设置级别为INFO,则优先级大于等于INFO级别(如:INFO、WARN、ERROR)的日志信息将可以被输出,小于该级别的如:DEBUG将不会被输出#stdout,R就是指定日志信息(等级日志)输出目的地,比如(打印到控制台,输出到文件等)。同一条日志信息可以配置多个输出目的地。log4j.rootLogger=info, stdout, Rlog4j.stdout=debug#tomcat控制台输出日志log4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.layout=org.apache.log4j.PatternLayout# Pattern to output the caller's file name and line number.#%5p [%t] (%F:%L) - %m%nlog4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%p]-[%t]-[%r] %l %m%n#配置log输出目的地#org.apache.log4j.ConsoleAppender(控制台)#org.apache.log4j.FileAppender(文件)#org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)#org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)#org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)log4j.appender.R=org.apache.log4j.RollingFileAppender#日志文件的名称#可以使用环境定义其路径(System.setProperty("com.water.logsdir", "/data/project/logs")):${com.water.logsdir}/project.log#1 ,-Dwebapp.log.basicdir=/data/gsmpro/logs/#2,监听器:System.setProperty(key,value);动态配置log4j生成的日志文件时,监听器的优化级为最高,且初始logger的时候,必须在设置环境变量之后。log4j.appender.R.File=${webapp.log.basicdir}/logexample.log#日志文件大小log4j.appender.R.MaxFileSize=10240KB#备份日志数量log4j.appender.R.MaxBackupIndex=10#log信息的格式#org.apache.log4j.HTMLLayout(HTML表格形)#org.apache.log4j.SimpleLayout(简单格式的日志,只包括日志信息的级别和指定的信息字符串 ,如:DEBUG - Hello)#org.apache.log4j.TTCCLayout(日志的格式包括日志产生的时间、线程、类别等等信息)#org.apache.log4j.PatternLayout(灵活地自定义日志格式)log4j.appender.R.layout=org.apache.log4j.PatternLayout#当使用org.apache.log4j.PatternLayout来自定义信息格式时,可以使用log4j.appender.A1.layout.ConversionPattern=  来格式化信息#%c 输出所属类的全名,可写为 %c{Num} ,Num类名输出的范围 如:"com.sun.aaa.classB", %C{2}将使日志输出输出范围为:aaa.classB#%d 输出日志时间其格式为 可指定格式 如 %d{yyyy-MM-dd HH:mm:ss}等#%l 输出日志事件发生位置,包括类目名、发生线程,在代码中的行数#%n 换行符#%m 输出代码指定信息,如info(“message”),输出message#%p 输出日志的优先级,即 FATAL ,ERROR 等#%r 输出从启动到显示该条日志信息所耗费的时间(毫秒数)#%t 输出产生该日志事件的线程名#%d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c{1}:%L - %m%n#log4j.logger.com.study.HelloLog4j=INFOlog4j.appender.R.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%p]-[%t]-[%r] %l %m%n



原创粉丝点击