开发者社区> 问答> 正文

勿在 LogBack 的配置中使用相对路径- 日志报错

"

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

<?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����ss.SSS} [%thread] %-5level %logger{36} - %msg%n</Pattern>
        </layout>
    </appender>
 
    <root level="DEBUG">
        <appender-ref ref="FILE"/>
    </root>
</configuration>

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

...
<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 的人有帮助。

 

 

"

展开
收起
montos 2020-05-31 22:55:30 1007 0
1 条回答
写回答
取消 提交回答
  • "

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

    ######

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

    ######

    <span style=""font-family: Verdana, sans-serif, 宋体; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"">

    小鸵鸟大哥,知道这两个问题么?

    1, 把日志发送到邮件中

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

    ######

    引用来自#4楼“yxx”的帖子

    小鸵鸟大哥,知道这两个问题么?

    1, 把日志发送到邮件中

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

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

    ######其实使用相对路径是能产生日志文件的,只是这个相对路径是相对与Eclipse(我是使用eclipse开发的,在eclipse启动的),我发现日志全部跑到eclipse安装目录里面去了######不过看样子,logback是不推荐使用相对路径来记录日志文件,个人觉得确实使用一些环境变量来引用绝对路径要更好控制一点######

    不是不生产log日志,是因为在web项目中logback的日志的相对路径在你的tomcat的bin目录下的

    "
    2020-05-31 22:55:40
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
PostgresChina2018_赖思超_PostgreSQL10_hash索引的WAL日志修改版final 立即下载
Kubernetes下日志实时采集、存储与计算实践 立即下载
日志数据采集与分析对接 立即下载