勿在 LogBack 的配置中使用相对路径

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

               

请看下面这段配置,这是无法工作的:

  1. <?xml version="1.0" encoding="UTF-8" ?>  
  2. <configuration>  
  3.     <contextName>JTheque</contextName>  
  4.    
  5.     <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">  
  6.         <file>logs/jtheque.log</file>  
  7.    
  8.         <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">  
  9.             <FileNamePattern>logs/jtheque.%i.log.zip</FileNamePattern>  
  10.             <MinIndex>1</MinIndex>  
  11.             <MaxIndex>5</MaxIndex>  
  12.         </rollingPolicy>  
  13.    
  14.         <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">  
  15.             <MaxFileSize>5MB</MaxFileSize>  
  16.         </triggeringPolicy>  
  17.    
  18.         <layout class="ch.qos.logback.classic.PatternLayout">  
  19.             <Pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</Pattern>  
  20.         </layout>  
  21.     </appender>  
  22.    
  23.     <root level="DEBUG">  
  24.         <appender-ref ref="FILE"/>  
  25.     </root>  
  26. </configuration>  
<?xml version="1.0" encoding="UTF-8" ?><configuration>    <contextName>JTheque</contextName>     <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">        <file>logs/jtheque.log</file>         <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">            <FileNamePattern>logs/jtheque.%i.log.zip</FileNamePattern>            <MinIndex>1</MinIndex>            <MaxIndex>5</MaxIndex>        </rollingPolicy>         <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">            <MaxFileSize>5MB</MaxFileSize>        </triggeringPolicy>         <layout class="ch.qos.logback.classic.PatternLayout">            <Pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</Pattern>        </layout>    </appender>     <root level="DEBUG">        <appender-ref ref="FILE"/>    </root></configuration>

使用该配置,不会生成任何日志文件,这可能是 LogBack 的 bug,解决的办法就是使用绝对路径,你可以用一些系统变量来代替,例如:

  1. ...  
  2. <file>${user.dir}/logs/jtheque.log</file>  
  3.   
  4. <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">  
  5.     <FileNamePattern>${user.dir}/logs/jtheque.%i.log.zip</FileNamePattern>  
  6.     <MinIndex>1</MinIndex>  
  7.     <MaxIndex>5</MaxIndex>  
  8. </rollingPolicy>  
  9. ...  
...<file>${user.dir}/logs/jtheque.log</file><rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">    <FileNamePattern>${user.dir}/logs/jtheque.%i.log.zip</FileNamePattern>    <MinIndex>1</MinIndex>    <MaxIndex>5</MaxIndex></rollingPolicy>...

现在就好了,希望对某些使用 LogBack 的人有帮助。


其实使用相对路径是能产生日志文件的,只是这个相对路径是相对与Eclipse(我是使用eclipse开发的,在eclipse启动的),我发现日志全部跑到eclipse安装目录里面去了


不过看样子,logback是不推荐使用相对路径来记录日志文件,个人觉得确实使用一些环境变量来引用绝对路径要更好控制一点


tomcat下可以用:${catalina.base}/logs/your_log.log


  一直使用相对路径. 没发现问题.  使用你这个配置也没问题. 可能你用的版本比较老,用最新的时会有警告,
  http://logback.qos.ch/codes.html#layoutInsteadOfEncoder
   ps:  logback在当打包时目录不存在时不会自动创建的目录,  需要做小小的修改才行.


1, 把日志发送到邮件中

2, 把日志保存到数据库中(有异步么?)

官方文档有: http://logback.qos.ch/manual/appenders.html


           

给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow
这里写图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值