【问题标题】:How to put log file in user home directory in portable way in logback?如何在logback中以可移植的方式将日志文件放在用户主目录中?
【发布时间】:2016-12-06 10:07:02
【问题描述】:

我想将日志文件放入用户主目录。

如何以便携的方式做到这一点,即在 Windows、Linux 和 Mac 上工作?

【问题讨论】:

  • 使用${user.home} 或类似的东西。请参阅文档(注意:第一个谷歌答案:mailman.qos.ch/pipermail/logback-user/2013-May/003938.html
  • 如果您认为以下答案之一对您有所帮助,请点赞/将其标记为“已接受”,以便其他人知道它对您有用:)(否则,请随时发表评论)

标签: java logging logback portability


【解决方案1】:

补充一点,路径也可以是您定义为系统属性的任何内容。例如,

java -Dmylog.root=somelocation ...

并且 logback 配置可以尊重该属性。

<appender name="FILE" class="ch.qos.logback.core.FileAppender"> <file>${mylog.root}/logback.log</file>

【讨论】:

    【解决方案2】:

    日志设置实际上是系统的配置组件。您最好的选择是分离(并加载)每个系统的配置。一个很好的方法是使用 Apache Commons Configuration 之类的东西,这允许遍历一组属性,这些属性将指示在哪里可以找到一次性 logback 配置。

    我们使用类似“优先级”的方案来识别 logback 配置文件名。使用 Apache Commons 配置,我们指定如下方案:

    <configuration config-name="master-config">
    <!--  start here, properties encountered in the first file would be ignored in the last file -->
    <properties fileName="/opt/config/log.properties" optional="true"/> 
    <properties fileName="${sys:user.home}/config/product/log.properties" optional="true"/>
    <properties fileName="com/company/product/config/log.properties"/>    
    

    在我的本地 Windows 开发框 (${sys:user.home}/config/product/log.properties) 文件看起来像

    logbackConfigLocation=C:/Users/dan/config/product/logback.xml 
    

    然后每个系统/用户可以根据需要配置/设置日志记录。从 servlet 上下文中,您可以加载和初始化 logback。

    【讨论】:

      【解决方案3】:

      根据Logback documentation,您应该使用${user.home},这是一个直接来自操作系统的JVM中存在的环境变量(因此它是可移植的):

      <appender name="FILE" class="ch.qos.logback.core.FileAppender">
          <file>${user.home}/logback.log</file>
          <encoder>
              <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n</pattern>
          </encoder>
      </appender>
      

      【讨论】:

        猜你喜欢
        • 2016-11-06
        • 1970-01-01
        • 1970-01-01
        • 2020-02-25
        • 2012-10-28
        • 1970-01-01
        • 1970-01-01
        • 2011-12-11
        • 1970-01-01
        相关资源
        最近更新 更多