假設我在下面的 log4j.xml 檔案中定義了一個附加程式。
<appender name="FILE" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="/home/logs/oarm_log.txt" />
<param name="DatePattern" value="'.'yyyy-MM-dd-HH" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %-5p[app=%log4j.webapp.name%] [%t] %c - %m\n" />
</layout>
</appender>
如何將值“/home/logs/oarm_log.txt”更改為來自實際 Java 代碼中的字串的不同值,以便代碼確定輸出 .txt 檔案的位置?
uj5u.com熱心網友回復:
雖然您最好的參考資源是 Log4j 的官方檔案,但我將列出另外兩個可以幫助您的參考資料。
Baeldung 是我最喜歡的 Java 博客之一。你可以通過這篇文章。
您也可以參考這個Stackoverflow 答案。
如果您趕時間,請查看以下代碼片段。
final LoggerContext ctx = (LoggerContext) LogManager.getContext(false);
final Configuration config = ctx.getConfiguration();
final Layout layout = PatternLayout.createDefaultLayout(config);
Appender appender = FileAppender.createAppender("path/to/logFile.log", "false", "false", "File", "true",
"false", "false", "4000", layout, null, "false", null, config);
appender.start();
config.addAppender(appender);
AppenderRef ref = AppenderRef.createAppenderRef("File", null, null);
AppenderRef[] refs = new AppenderRef[] {ref};
LoggerConfig loggerConfig = LoggerConfig.createLogger("false", "info", "org.apache.logging.log4j",
"true", refs, null, config, null );
loggerConfig.addAppender(appender, null, null);
config.addLogger("org.apache.logging.log4j", loggerConfig);
ctx.updateLoggers();
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/415035.html
標籤:
