log4j2鎬庝箞瀹氭椂鐢熸垚鏂囦欢
鍦╨og4j2涓紝鍙互浣跨敤RollingFileAppender鏉ュ畾鏃剁敓鎴愭枃浠躲€備互涓嬫槸涓€涓ず渚嬮厤缃枃浠讹紝鍏朵腑姣忓ぉ鐢熸垚涓€涓柊鐨勬棩蹇楁枃浠讹細
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="INFO">
<Appenders>
<RollingFile name="RollingFile" fileName="logs/app.log"
filePattern="logs/app-%d{yyyy-MM-dd}.log">
<PatternLayout pattern="%d [%t] %-5p %c{1}:%L - %m%n" />
<Policies>
<TimeBasedTriggeringPolicy />
</Policies>
<DefaultRolloverStrategy max="10" />
</RollingFile>
</Appenders>
<Loggers>
<Root level="info">
<AppenderRef ref="RollingFile" />
</Root>
</Loggers>
</Configuration>
鍦ㄤ笂闈㈢殑閰嶇疆鏂囦欢涓紝<RollingFile>鎸囧畾浜嗘棩蹇楁枃浠剁殑鍚嶇О鍜屾枃浠舵ā寮忋€備娇鐢?code>%d{yyyy-MM-dd}妯″紡鍙互灏嗘棩蹇楁枃浠跺悕璁剧疆涓烘瘡澶╀竴涓柊鏂囦欢銆?code><Policies>閮ㄥ垎鎸囧畾浜嗚Е鍙戞粴鍔ㄧ殑绛栫暐锛岃繖閲屼娇鐢ㄤ簡<TimeBasedTriggeringPolicy>鏉ユ寜鏃堕棿瑙﹀彂婊氬姩銆?code><DefaultRolloverStrategy>鎸囧畾浜嗘粴鍔ㄧ瓥鐣ワ紝榛樿鏈€澶氫繚鐣?0涓棩蹇楁枃浠躲€?/p>
鍦ㄤ綘鐨勯」鐩腑锛屽皢涓婅堪閰嶇疆鏂囦欢淇濆瓨涓?code>log4j2.xml锛屽苟灏嗗叾鏀剧疆鍦ㄧ被璺緞涓嬨€傜劧鍚庯紝鍦ㄤ唬鐮佷腑鍒濆鍖杔og4j2锛屽嵆鍙紑濮嬫寜鐓ч厤缃殑鏃堕棿闂撮殧鐢熸垚鏃ュ織鏂囦欢銆?/p>
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
public class MyApp {
private static final Logger logger = LogManager.getLogger(MyApp.class);
public static void main(String[] args) {
logger.info("Hello, World!");
}
}
浠ヤ笂浠g爜灏嗗湪logs鐩綍涓嬬敓鎴愭瘡澶╀竴涓柊鐨勬棩蹇楁枃浠讹紝渚嬪app-2022-01-01.log銆?code>app-2022-01-02.log绛夈€傛瘡涓棩蹇楁枃浠朵腑灏嗚褰曞簲鐢ㄧ▼搴忕殑鏃ュ織淇℃伅銆?/p>
娉ㄦ剰锛氬湪浣跨敤log4j2涔嬪墠锛岄渶瑕佺‘淇濆凡姝g‘閰嶇疆log4j2渚濊禆椤癸紝骞跺湪椤圭洰鐨?code>pom.xml鎴?code>build.gradle鏂囦欢涓坊鍔犵浉搴旂殑渚濊禆銆?/p>
相关问答