Java Logback-空文件的奇怪行为
我正在翻新使用logback的旧系统,一些简单的东西(3个附加器,2个记录器)。现在,在系统的下一个版本中(或者重新实现,因为上一个版本在笔记本和备份中被盗,robot上只有配置文件和二进制文件),我使用相同的配置文件,但所有日志文件保持为空 奇怪的是,它实际上根据给定的模式创建了正确的文件和文件夹,所以它肯定对配置文件做了一些事情。除此之外,伐木工人和附加工根本不工作 我还尝试使用我在示例中找到的各种其他配置文件——甚至一个都不起作用,所以我怀疑使用的库和logback之间是否存在冲突。我试着用谷歌搜索它,但没有发现任何相关或有效的东西 你们中有人解决过(或希望解决)这样的问题吗?或者请指出错误的路线 Thx提前。。。 卡米尔 下一个代码显示初始化:Java Logback-空文件的奇怪行为,java,logging,logback,Java,Logging,Logback,我正在翻新使用logback的旧系统,一些简单的东西(3个附加器,2个记录器)。现在,在系统的下一个版本中(或者重新实现,因为上一个版本在笔记本和备份中被盗,robot上只有配置文件和二进制文件),我使用相同的配置文件,但所有日志文件保持为空 奇怪的是,它实际上根据给定的模式创建了正确的文件和文件夹,所以它肯定对配置文件做了一些事情。除此之外,伐木工人和附加工根本不工作 我还尝试使用我在示例中找到的各种其他配置文件——甚至一个都不起作用,所以我怀疑使用的库和logback之间是否存在冲突。我试着
public static final String LOGGER_CONFIG_FILE = "hacs.logger.conf";
public static final String LOGGER_CONFIG_FILE_DEFAULT = "./conf/logconf.xml";
public static void main( String[] args ) {
File configurationFile = new File(HACSProperties.instance().getProperty(LOGGER_CONFIG_FILE, LOGGER_CONFIG_FILE_DEFAULT));
if( configurationFile.exists() ){
LoggerContext context = (LoggerContext) LoggerFactory.getILoggerFactory();
context.reset(); // When this is commented, logback works in some default configuration
try {
JoranConfigurator configurator = new JoranConfigurator();
configurator.setContext(context);
configurator.doConfigure( LOGGER_CONFIG_FILE_DEFAULT );
System.out.println("Logger successfully configured..");
Logger log = LoggerFactory.getLogger("analytics");
log.info( "Please appear in file" );
} catch (JoranException je) {
System.out.println("Error - failed to configure logger. Please check configuration.");
je.printStackTrace();
System.exit( 1 );
}
} else {
System.out.println("Error - failed to configure logger - configuration file does not exist. Please check configuration.");
System.exit( 2 );
}
}
配置文件本身:
<configuration>
<timestamp key="bySecond" datePattern="dd.MM.yyyy'_T'HH.mm.ss" timeReference="contextBirth" />
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>./logs/HACS_LAST_RUN.log</file>
<append>false</append>
<layout class="ch.qos.logback.classic.PatternLayout">
<Pattern>%date %level [%thread] %logger{10} [%file:%line] %msg%n
</Pattern>
</layout>
</appender>
<appender name="FILE_PER_MINUTE" class="ch.qos.logback.core.FileAppender">
<file>./logs/PER_MINUTE/HACS-RUN-${bySecond}.log</file>
<append>false</append>
<layout class="ch.qos.logback.classic.PatternLayout">
<Pattern>%date %level [%thread] %logger{10} [%file:%line] %msg%n
</Pattern>
</layout>
</appender>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<layout class="ch.qos.logback.classic.PatternLayout">
<Pattern>%d{HH:mm:ss.SSS} %level [%file:%line] %msg%n</Pattern>
</layout>
</appender>
<logger name="org.hibernate" additivity="false">
<level value="warn" />
<appender-ref ref="FILE" />
<appender-ref ref="STDOUT" />
<appender-ref ref="FILE_PER_MINUTE" />
</logger>
<logger name="FILE_ONLY" additivity="false">
<level value="INFO" />
<appender-ref ref="FILE_PER_MINUTE" />
<appender-ref ref="FILE" />
</logger>
<root>
<level value="INFO" />
<appender-ref ref="FILE" />
<appender-ref ref="STDOUT" />
<appender-ref ref="FILE_PER_MINUTE" />
</root>
</configuration>
./logs/HACS\u LAST\u RUN.log
假的
%日期%level[%thread]%记录器{10}[%file:%line]%msg%n
./logs/PER_MINUTE/HACS-RUN-${bySecond}.log
假的
%日期%level[%thread]%记录器{10}[%file:%line]%msg%n
%d{HH:mm:ss.SSS}%级别[%file:%line]%msg%n
图书馆名单: