Я пытаюсь установить имя файла журнала динамически в моем проекте Maven.
Я пытался много раз следить за сообщениями в блоге, но файл журнала не генерируется.
После нескольких попыток ипри отладке я обнаружил, что когда я задаю имя файла журнала с помощью System.setProperty
перед вызовом базы данных, создается файл журнала.
System.setProperty("logFileName", "E:\\FICO\\logs\\calculate");
Но я хочу задать имя файла со значением, полученным изБД.
Пример:
String ccmValue = "E:\\FICO\\logs\\calculate_" + getCurrentCCMValue(); // DB Call to get the value
System.setProperty("logfilename", ccmValue ); // E:\\FICO\\logs\\calculate_ccmValue.log
Если после вызова БД установить System.setProperty
, то файл не создается.
Ниже приведен мой файл log4j.xml:
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration debug="true"
xmlns:log4j='http://jakarta.apache.org/log4j/'>
<appender name="console"
class="org.apache.log4j.ConsoleAppender">
<param name="Target" value="System.out" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n" />
</layout>
</appender>
<appender name="fileAppender"
class="org.apache.log4j.RollingFileAppender">
<param name="File" value="${logFileName}.log" />
<param name="maxFileSize" value="1MB" />
<param name="maxBackupIndex" value="5" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n" />
</layout>
</appender>
<root>
<priority value="info"></priority>
<appender-ref ref="console"></appender-ref>
<appender-ref ref="fileAppender"></appender-ref>
</root>
</log4j:configuration>
Вот журнал консоли:
log4j: reset attribute= "false".
log4j: Threshold ="null".
log4j: Level value for root is [info].
log4j: root level set to INFO
log4j: Class name: [org.apache.log4j.ConsoleAppender]
log4j: Setting property [target] to [System.out].
log4j: Parsing layout of class: "org.apache.log4j.PatternLayout"
log4j: Setting property [conversionPattern] to [%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n].
log4j: Adding appender named [console] to category [root].
log4j: Class name: [org.apache.log4j.RollingFileAppender]
log4j: Setting property [file] to [.log].
log4j: Setting property [maxFileSize] to [1MB].
log4j: Setting property [maxBackupIndex] to [5].
log4j: Parsing layout of class: "org.apache.log4j.PatternLayout"
log4j: Setting property [conversionPattern] to [%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n].
log4j: setFile called: .log, true
log4j: setFile ended
log4j: Adding appender named [fileAppender] to category [root].
2019-07-10 22:58:16 INFO Version:46 - HHH000412: Hibernate Core {5.4.3.Final}
2019-07-10 22:58:17 INFO Version:49 - HCANN000001: Hibernate Commons Annotations {5.1.0.Final}
2019-07-10 22:58:18 INFO ConnectionProviderInitiator:137 - HHH000130: Instantiating explicit connection provider: org.hibernate.connection.C3P0ConnectionProvider
2019-07-10 22:58:18 INFO C3P0ConnectionProvider:116 - HHH010002: C3P0 using driver: com.mysql.cj.jdbc.Driver at URL: jdbc:mysql://localhost:3306/gentexdba
2019-07-10 22:58:18 INFO C3P0ConnectionProvider:117 - HHH10001001: Connection properties: {user=root, password=****}
2019-07-10 22:58:18 INFO C3P0ConnectionProvider:120 - HHH10001003: Autocommit mode: false
2019-07-10 22:58:18 INFO MLog:126 - MLog clients using log4j logging.
2019-07-10 22:58:18 INFO MLog: 126 - клиенты MLog, использующие log4jрегистрация.
2019-07-10 22:58:18 INFO C3P0Registry:248 - Initializing c3p0-0.9.5.3 [built 27-January-2019 00:11:37 -0800; debug? true; trace: 10]
2019-07-10 22:58:18 INFO C3P0ConnectionProvider:200 - HHH10001007: JDBC isolation level: <unknown>