项目开发中,自己的日志文件记录是可以指定位置的。 现在通过博客记录一下。
- 先建立log4j.properties。
- 在web.xml中指定文件的位置,如果放在变成的src目录下面的话可以省略。
- 编辑log4.properties文件,里面指定记录日志的等级、位置等其他属性。
下文是一个示例log4j.properties
#创建一些日志文件对象。例如下文当中的log4j.appender.FILE的FILE就是 log4j.rootLogger=debug,FILE,info log4j.addivity.org.apache=true log4j.logger.com.winsun=debug,stdout og4j.logger.org.apache.axis.ConfigurationException=ERROR log4j.logger.com.opensymphony=error,stdout log4j.logger.net.sf=warn,stdout log4j.logger.org.apache=warn,stdout log4j.logger.org.springframework=warn,stdout log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.Encoding=gbk log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern= [stdout] %d -%-4r [%t]%-5p %l %x - %m%n log4j.appender.FILE=org.apache.log4j.DailyRollingFileAppender #记录在Tomcat的logs目录下,以及记录时候的文件名称 log4j.appender.FILE.File=${catalina.home}/logs/error.log log4j.appender.FILE.DatePattern=yyyy-MM-dd'.log' log4j.appender.FILE.Append=true #记录日志级别 log4j.appender.FILE.Threshold=ERROR log4j.appender.FILE.Encoding=gbk log4j.appender.FILE.layout=org.apache.log4j.PatternLayout log4j.appender.FILE.layout.ConversionPattern= [FILE] %d -%-4r [%t]%-5p %l %x - %m%n log4j.appender.info=org.apache.log4j.DailyRollingFileAppender #记录在Tomcat的logs目录下,以及记录时候的文件名称 log4j.appender.info.File=${catalina.home}/logs/info.log log4j.appender.info.DatePattern=yyyy-MM-dd'.log' log4j.appender.info.Append=true #记录日志级别 log4j.appender.info.Threshold=info log4j.appender.info.Encoding=gbk log4j.appender.info.layout=org.apache.log4j.PatternLayout log4j.appender.info.layout.ConversionPattern= [FILE] %d -%-4r [%t]%-5p %l %x - %m%n
下文是一个HTML日志文件的例子
log4j.appender.html=org.apache.log4j.DailyRollingFileAppender log4j.appender.html.File=${catalina.home}/logs/gzzj_logs.htm log4j.appender.html.DatePattern=yyyy-MM-dd'.htm' log4j.appender.html.Append=true log4j.appender.html.Encoding=gbk log4j.appender.html.Threshold=info log4j.appender.html.layout=org.apache.log4j.HTMLLayout log4j.appender.html.layout.ConversionPattern= [HTML] %d -%-4r [%t]%-5p %l %x - %m%n
下文是一个发送Email的例子
log4j.appender.MAIL=com.winsun.common.log4j.mail.UserSMTPAppender log4j.appender.MAIL.EvaluatorClass= com.winsun.common.log4j.mail.UserEventEvaluator log4j.appender.MAIL.Threshold=error log4j.appender.MAIL.BufferSize=100 log4j.appender.MAIL.From=发送人的Email地址 log4j.appender.MAIL.SMTPHost=发送Email的服务器 log4j.appender.MAIL.SMTPUsername=Email的账号 log4j.appender.MAIL.SMTPPassword=Email的密码 log4j.appender.MAIL.SMTPDebug=true log4j.appender.MAIL.Subject=Email标题 log4j.appender.MAIL.To=收件人的地址 log4j.appender.MAIL.layout=com.winsun.common.log4j.mail.MailPatternLayout log4j.appender.MAIL.layout.ConversionPattern= [framework]%d - %c -%-4r[%t]%-5p %l %x -%m%n
在日志文件当中,可以指定文件的位置,下文的使用需要参考上面的其他内容来结合使用。
#指定文件到Tomcat容器的logs目录下,而且只有在Tomcat下有效果,其他Web容器都不行。 ${catalina.home}/logs/xxxxx.log #指定到一个预制好的目录,可以不限定Web容器以及系统。但是有可能会对计算机产生垃圾文件。 ${webapp.root}/logs/xxxxx.log #这种输出到 盘的 根目录下,Windows和Linux的路径方式不同 /xxxxx.log #输出到项目文件的log目录下面,但是可能由于项目代码的全量更新导致日志信息丢失。 log/xxxx.log