首先在pom文件中加入以下依賴
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.6.2</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.6.2</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-web</artifactId>
<version>2.6.2</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.12</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>1.7.12</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>2.6.2</version>
</dependency>
刪除原來的slf4j依賴
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.7</version>
</dependency>
重寫log4j.xml配置文件
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN" monitorInterval="60">
<Appenders>
<Console name="Console" target="SYSTEM_OUT"> <!-- 定義類型為Console的Appender -->
<PatternLayout pattern="%d [%t] %-5p %c{1} [%L] - %m%n"/> <!-- 定義類型為Pattern的Layout -->
</Console>
<RollingRandomAccessFile name="rollingRandomAccessFileAppender" immediateFlush="true" fileName="${logPath}/acc.log"
filePattern="${logPath}/acc.log.%d{yyyy-MM-dd-HH}" append="true">
<PatternLayout pattern="%d [%t] %-5p %c{1} [%L] - %m%n" />
<Policies>
<TimeBasedTriggeringPolicy interval="1" modulate="true"/>
</Policies>
</RollingRandomAccessFile>
</Appenders>
<Loggers>
<Root level="info"> <!-- 定義Root Logger,其日志級別為info -->
<AppenderRef ref="Console"/> <!-- Root Logger的Appender引用上面定義的Console -->
</Root>
<Logger name="HelloWorld" level="info" additivity="false"> <!-- 定義名字為HelloWorld的Logger,其日志級別為info,additivity為false -->
<AppenderRef ref="Console"/> <!-- Root Logger的Appender引用上面定義的Console -->
<AppenderRef ref="rollingRandomAccessFileAppender"/>
</Logger>
</Loggers>
</Configuration>
項目中原來的log4j是根據每個小時打印日志,因此用了RollingRandomAccessFile。
然后,將log4j.xml重新命名為log4j2.xml,并且在web.xml中取消原來的context配置!
由于上面這一點一開始沒有做,只是在原來log4j.xml的基礎上把內容修改了,所以打包到服務器上運行時,一直沒有日志文件輸出,因為pom文件中依賴的其他項目帶有log4j相關的jar包,slf4j不知道該使用哪一個。
升級完畢。
另外有需要云服務器可以了解下創新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
文章標題:slf4j+log4j升級log4j2-創新互聯
文章來源:http://www.yijiale78.com/article28/disicp.html
成都網站建設公司_創新互聯,為您提供定制網站、App設計、做網站、電子商務、虛擬主機、搜索引擎優化
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯