java如何給指定類(lèi)配置單獨(dú)的日志文件輸出
java給指定類(lèi)配置單獨(dú)的日志文件輸出
如果你想要給指定的類(lèi)配置單獨(dú)的日志文件輸出
可以使用 Java 的日志框架(例如 log4j、Logback 等)來(lái)實(shí)現(xiàn)
下面是使用 log4j 的一個(gè)簡(jiǎn)單示例
1.在項(xiàng)目的 classpath 中添加 log4j 的配置文件(例如 log4j.properties)。
2.在配置文件中添加如下內(nèi)容,這樣可以將日志輸出到單獨(dú)的文件中:
log4j.rootLogger=ERROR, file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=logs/MyClass.log
log4j.appender.file.MaxFileSize=10MB
log4j.appender.file.MaxBackupIndex=10
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
# 只將指定的類(lèi)的日志輸出到文件中
log4j.logger.MyClass=ERROR, file
3.在指定的類(lèi)中使用 log4j 輸出日志。
例如:
import org.apache.log4j.Logger;
public class MyClass {
private static final Logger logger = Logger.getLogger(MyClass.class);
public void doSomething() {
logger.error("Something happened!");
}
}
這樣,在 MyClass 中調(diào)用 logger.error 方法輸出的日志就會(huì)被記錄到 logs/MyClass.log 文件中。
Log4j配置指定類(lèi)輸出指定日志文件
配置log4j
<!-- 添加一個(gè) 自定義 appender-->
<appender name="mjLogAppender" class="org.apache.log4j.DailyRollingFileAppender">
<!-- 指定日志文件輸出位置 -->
<param name="File" value="${BR.root}/../log/mj/app.log"/>
<!-- 指定日志輸出格式 -->
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[%d{yyyy-MM-dd HH:mm:ss,SSS}][%p](%l) - %m%n"/>
</layout>
<!-- 指定日志輸出保留文件數(shù) -->
<param name="MaxBackupIndex" value="20"/>
<!-- 指定每個(gè)日志文件最大大小 -->
<param name="MaxFileSize" value="10MB"/>
<!-- 指定日志文件編碼類(lèi)型 -->
<param name="encoding" value="utf-8"/>
<!-- 指定文件輸出規(guī)則 -->
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMin" value="debug"/>
<param name="LevelMax" value="error"/>
</filter>
</appender>
<!-- 配置對(duì)應(yīng)的 logger -->
<logger name="MjLog" additivity="false">
<level value="info" />
<!-- 這里與上面自定義的 appender 名字要求一致 -->
<appender-ref ref="mjLogAppender" />
<!-- 如果還想在控制臺(tái)也輸出的話(huà),把控制臺(tái)Appender 也一起配置進(jìn)來(lái) -->
<appender-ref ref="consoleAppender" />
</logger>配置 java類(lèi),使用自定義
// 獲取自定義日志對(duì)象,這里的 MjLog 為log4j 中定義的名字
private static final Logger mjLog = LoggerFactory.getLogger("MjLog");
mjLog.info("自定義類(lèi)輸出到指定日志文件!");總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Spring boot整合mybatis實(shí)現(xiàn)過(guò)程圖解
這篇文章主要介紹了Spring boot整合mybatis實(shí)現(xiàn)過(guò)程圖解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08
JAVA隨機(jī)數(shù)隨機(jī)字母的實(shí)現(xiàn)(微信搶紅包小練習(xí))
這篇文章主要介紹了JAVA隨機(jī)數(shù)隨機(jī)字母的實(shí)現(xiàn)(微信搶紅包小練習(xí)),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04
Spring Boot整合Spring Data JPA過(guò)程解析
這篇文章主要介紹了Spring Boot整合Spring Data JPA過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-10-10
淺談圖片上傳利用request.getInputStream()獲取文件流時(shí)遇到的問(wèn)題
下面小編就為大家?guī)?lái)一篇淺談圖片上傳利用request.getInputStream()獲取文件流時(shí)遇到的問(wèn)題。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-11-11

