使用外部文件进行日志记录配置,日志文件为空

时间:2018-03-02 13:31:41

标签: logback

我尝试通过外部文件配置日志记录。 WLS 10.3.6,startWebLogic.properties包括:

@import "bootstrap"

out.log是在项目主文件夹中创建的,但它是空的。

根据应用程序内部使用的log logback.xml,而不是来自外部文件:

-Dproject_name_home=D:\path\to\project_home ^
-Dlogging.config=${project_name_home}/conf/logback.xml ^
-Dlogging.path=${project_name_home}/log ^
-Dlogging.file=${project_name_home}/log/out.log ^
-Dorg.apache.cxf.Logger=org.apache.cxf.common.logging.Slf4jLogger

怎么了?请帮助配置使用外部文件的日志记录。

我的外部logback.xml是:

19:05:27,621 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.groovy]
19:05:27,622 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml]
19:05:27,622 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [logback.xml] at [zip:D:/Weblogic10.3.6/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_user/project_name/pjckx7/war/WEB-INF/lib/_wl_cls_gen.jar!/logback.xml]

在应用程序内部记录配置,application.yml是:

<configuration>

  <property name="LOG_PATH" value="${project_home}/log" />

  <property name="LOG_FILE" value="${LOG_PATH}/out.log" />

  <appender name="ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>${LOG_FILE}</file>
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
    <fileNamePattern>${LOG_PATH}/archive/out/out-%d{yyyy-MM-dd}.%i.zip</fileNamePattern>
    <timeBasedFileNamingAndTriggeringPolicy
        class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
       <maxFileSize>100MB</maxFileSize>
    </timeBasedFileNamingAndTriggeringPolicy>
   </rollingPolicy>
   <encoder>
      <pattern>%d{dd/MM/yyyy HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n%ex</pattern>
   </encoder>
</appender>

   <logger name="package.name" level="debug">
      <appender-ref ref="ROLLING" />
   </logger>  
</configuration>

1 个答案:

答案 0 :(得分:1)

因此,通过外部logback.xml记录配置的后续步骤是:

在WLS启动文件中设置logging.config(外部logback.xml的路径)。

还要在application.yml中定义的日志记录级别需要在WLS启动文件中配置(logging.level。参数,根据问题需要设置logging.level.package.name参数)。

另一个包的

级别(在application.yml中未定义)在logback.xml中配置。

应删除其他参数(logging.path,logging.file)。

所有其他参数都像以前一样在外部logback.xml中配置。