在一个项目中,我在类路径上有以下内容:
Bundle-ClassPath: .,
lib/logback-classic.jar,
lib/logback-core.jar,
lib/slf4j-api.jar
Run Code Online (Sandbox Code Playgroud)
以及build.properties中的以下内容:
bin.includes = META-INF/,\
.,\
plugin.xml,\
lib/logback-classic.jar,\
lib/logback-core.jar,\
lib/slf4j-api.jar,\
logback.xml
Run Code Online (Sandbox Code Playgroud)
在根目录中,我还有一个logback.xml文件,其中包含:
<!-- <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> -->
<!-- <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="STDOUT" />
</root>
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<File>logs\\logfile.log</File>
<Append>true</Append>
<layout class="ch.qos.logback.classic.PatternLayout">
<Pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n
</Pattern>
</layout>
</appender>
</configuration>
Run Code Online (Sandbox Code Playgroud)
在启动时执行的类中,我有:
private static final Logger logger = LoggerFactory.getLogger(Application.class.getName());
public Object start(IApplicationContext context) {
logger.debug("debug string");
logger.warn("warn string");
logger.error("error string");
Run Code Online (Sandbox Code Playgroud)
当我构建并运行我的应用程序时,文件logs\logfile.log在我的应用程序的根目录中创建,但它是空的.如果我使用ConsoleAppender并启用控制台,它可以正常工作.
使用FileAppender时,为什么logback不会写入日志文件?
您是否尝试过将文件appender-ref添加到logback.xml中的root,如下所示:
<root level="debug">
<appender-ref ref="STDOUT" />
<appender-ref ref="FILE" />
</root>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6267 次 |
| 最近记录: |