欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java 配置log 將日志信息輸出到指定日志文件中

 更新時(shí)間:2023年09月08日 09:58:13   作者:晴天陰天下雨天  
這篇文章主要介紹了Java 配置log 將日志信息輸出到指定日志文件中,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

## Java配置log 將日志信息輸出到指定日志文件中

1、需要用到的pom.xml依賴(lài)

<!--日志捕獲-->
<dependency>
    <groupId>commons-logging</groupId>
    <artifactId>commons-logging</artifactId>
    <version>1.1</version>
</dependency>

2、在src目錄下新建log4j.propertites文件或log4j.xml文件

2.1 以idea為例子:

2.2 給propertites文件命名

log4j.propertites文件

#log4j.rootLogger=[level],[Appender1],[Appender2],[Appender3]....
#這一句的意思就是設(shè)置日志輸出級(jí)別以及輸出目的地,可以設(shè)置多個(gè)輸出目的地,
# 以逗號(hào)分隔,輸出目的地的詳細(xì)設(shè)置為下面的Appender設(shè)置.
# 注意:此處設(shè)置的Appender名稱(chēng)應(yīng)與下面詳細(xì)設(shè)置相對(duì)應(yīng),包括大小寫(xiě);
# 此處配置了幾個(gè)Appender,下面就應(yīng)設(shè)置幾個(gè)。
log4j.rootLogger=DEBUG, STDOUT,INF,ERR,HHT,SL,TCC
# 輸出目的地詳細(xì)設(shè)置:
#定義對(duì)應(yīng)輸出目的地:log4j.appender.appenderName = fully.qualified.name.of.appender.class.
#### ConsoleAppender:控制臺(tái)輸出 ####
log4j.appender.STDOUT = org.apache.log4j.ConsoleAppender 
# 輸出到控制臺(tái)
log4j.appender.STDOUT.Target = System.out
# 指定控制臺(tái)輸出日志級(jí)別
log4j.appender.STDOUT.Threshold = INFO
# 默認(rèn)值是 true, 表示是否立即輸出
log4j.appender.STDOUT.ImmediateFlush = true
# 設(shè)置編碼方式
log4j.appender.STDOUT.Encoding = UTF-8
# 日志輸出布局
log4j.appender.STDOUT.layout = org.apache.log4j.PatternLayout
# 如果日志輸出布局為PatternLayout 自定義級(jí)別,需要使用ConversionPattern指定輸出格式
log4j.appender.STDOUT.layout.ConversionPattern =[%d{yyyy-MM-dd HH:mm:ss,SSS}]-[%p] -%c -%r -%l.%M(%L) | %m%n
#### DailyRollingFileAppender: 指定周期輸出到新文件 ####
log4j.appender.INF = org.apache.log4j.DailyRollingFileAppender 
# 指定輸出文件路徑
log4j.appender.INF.File = D:/log/info.log
# 指定輸出日志級(jí)別
log4j.appender.INF.Threshold = INFO
# 默認(rèn)為true,意味著輸出方式為追加,反之則為覆蓋
log4j.appender.INF.Append = true
# 默認(rèn)值是 true, 表示是否立即輸出
log4j.appender.INF.ImmediateFlush = true
# 設(shè)置編碼方式
log4j.appender.INF.Encoding = UTF-8
# 指定分隔周期:月,周,天,時(shí),分
# '.': 每月
# '.'yyyy-ww: 每周
# '.'yyyy-MM-dd: 每天
# '.'yyyy-MM-dd-a: 每天兩次
# '.'yyyy-MM-dd-HH: 每小時(shí)
# '.'yyyy-MM-dd-HH-mm: 每分鐘
log4j.appender.INF.DatePattern ='.'yyyy-MM-dd-HH-mm
# 日志輸出布局
log4j.appender.INF.layout = org.apache.log4j.PatternLayout
# 如果日志輸出布局為PatternLayout 自定義級(jí)別,需要使用ConversionPattern指定輸出格式
log4j.appender.INF.layout.ConversionPattern =DFA-[framework] [%d{yyyy-MM-dd HH:mm:ss,SSS}]-[%p] -%c -%r -%l.%M(%L) | %m%n
#### RollingFileAppender: 限定單個(gè)文件大小,達(dá)到閥值輸出到新文件 ####
log4j.appender.ERR = org.apache.log4j.RollingFileAppender 
# 指定輸出文件路徑
log4j.appender.ERR.File = D:/log/error.log
# 指定輸出日志級(jí)別
log4j.appender.ERR.Threshold = INFO
# 默認(rèn)為true,意味著輸出方式為追加,反之則為覆蓋
log4j.appender.ERR.Append = true
# 默認(rèn)值是 true, 表示是否立即輸出
log4j.appender.ERR.ImmediateFlush = true
# 設(shè)置編碼方式
log4j.appender.ERR.Encoding = UTF-8
# 設(shè)置單個(gè)文件大小限制
log4j.appender.ERR.MaxFileSize = 2MB
# 設(shè)置最大備份文件記錄數(shù)
log4j.appender.ERR.MaxBackupIndex = 20
# 日志輸出布局
log4j.appender.ERR.layout = org.apache.log4j.PatternLayout
# 如果日志輸出布局為PatternLayout 自定義級(jí)別,需要使用ConversionPattern指定輸出格式
log4j.appender.ERR.layout.ConversionPattern =RFA-[framework] [%d{yyyy-MM-dd HH:mm:ss,SSS}]-[%p] -%c -%r -%l.%M(%L) | %m%n
####測(cè)試輸出布局:HTMLLayout ####
log4j.appender.HHT = org.apache.log4j.RollingFileAppender 
# 指定輸出文件路徑
log4j.appender.HHT.File = D:/log/log4jHtml.html
# 指定輸出日志級(jí)別
log4j.appender.HHT.Threshold = DEBUG
# 默認(rèn)為true,意味著輸出方式為追加,反之則為覆蓋
log4j.appender.HHT.Append = true
# 默認(rèn)值是 true, 表示是否立即輸出
log4j.appender.HHT.ImmediateFlush = true
# 設(shè)置編碼方式
log4j.appender.HHT.Encoding = UTF-8
# 設(shè)置單個(gè)文件大小限制
log4j.appender.HHT.MaxFileSize = 2MB
# 設(shè)置最大備份文件記錄數(shù)
log4j.appender.HHT.MaxBackupIndex = 20
# 日志輸出布局
log4j.appender.HHT.layout = org.apache.log4j.HTMLLayout
####測(cè)試輸出布局:SimpleLayout ####
log4j.appender.SL = org.apache.log4j.RollingFileAppender 
# 指定輸出文件路徑
log4j.appender.SL.File = D:/log/log4jSL.html
# 指定輸出日志級(jí)別
log4j.appender.SL.Threshold = INFO
# 默認(rèn)為true,意味著輸出方式為追加,反之則為覆蓋
log4j.appender.SL.Append = true
# 默認(rèn)值是 true, 表示是否立即輸出
log4j.appender.SL.ImmediateFlush = true
# 設(shè)置編碼方式
log4j.appender.SL.Encoding = UTF-8
# 設(shè)置單個(gè)文件大小限制
log4j.appender.SL.MaxFileSize = 2MB
# 設(shè)置最大備份文件記錄數(shù)
log4j.appender.SL.MaxBackupIndex = 20
# 日志輸出布局
log4j.appender.SL.layout = org.apache.log4j.HTMLLayout
####測(cè)試輸出布局:TTCCLayout ####
log4j.appender.TCC = org.apache.log4j.RollingFileAppender 
# 指定輸出文件路徑
log4j.appender.TCC.File = D:/log/log4jTCC.log
# 指定輸出日志級(jí)別
log4j.appender.TCC.Threshold = INFO
# 默認(rèn)為true,意味著輸出方式為追加,反之則為覆蓋
log4j.appender.TCC.Append = true
# 默認(rèn)值是 true, 表示是否立即輸出
log4j.appender.TCC.ImmediateFlush = true
# 設(shè)置編碼方式
log4j.appender.TCC.Encoding = UTF-8
# 設(shè)置單個(gè)文件大小限制
log4j.appender.TCC.MaxFileSize = 2MB
# 設(shè)置最大備份文件記錄數(shù)
log4j.appender.TCC.MaxBackupIndex = 20
# 日志輸出布局
log4j.appender.TCC.layout = org.apache.log4j.SimpleLayout

log4j.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration  debug="true" xmlns:log4j='http://jakarta.apache.org/log4j/' >
    <!-- 輸出到控制臺(tái) -->
    <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
        <!-- 設(shè)置日志輸出的樣式 -->
        <layout class="org.apache.log4j.PatternLayout">
            <!-- 設(shè)置日志輸出的格式 -->
            <param name="ConversionPattern" value="[%d{yyyy-MM-dd HH:mm:ss:SSS}] [%-5p] [method:%l]%n%m%n%n" />
        </layout>
        <!--過(guò)濾器設(shè)置輸出的級(jí)別-->
        <filter class="org.apache.log4j.varia.LevelRangeFilter">
            <!-- 設(shè)置日志輸出的最小級(jí)別 -->
            <param name="levelMin" value="WARN" />
            <!-- 設(shè)置日志輸出的最大級(jí)別 -->
            <param name="levelMax" value="ERROR" />
            <!-- 設(shè)置日志輸出的xxx,默認(rèn)是false -->
            <param name="AcceptOnMatch" value="true" />
        </filter>
    </appender>
    <!-- 輸出到文件: DailyRollingFileAppender-->
    <appender name="daily" class="org.apache.log4j.DailyRollingFileAppender">
        <!-- 設(shè)置日志信息輸出文件全路徑名 -->
        <param name="File" value="D:/log/DailyRollingFileAppender.log" />
        <!-- 設(shè)置日志每分鐘回滾一次,即產(chǎn)生一個(gè)新的日志文件 -->
        <param name="DatePattern" value="'.'yyyy-MM-dd-HH-mm'.log'" />
        <!-- 附加 -->
        <param name="Append" value="true"/>
        <!-- 設(shè)置日志輸出的樣式 -->
        <layout class="org.apache.log4j.PatternLayout">
            <!-- 設(shè)置日志輸出的格式 -->
            <param name="ConversionPattern" value="[%d{yyyy-MM-dd HH:mm:ss:SSS}] [%-5p] [method:%l]%n%m%n%n" />
        </layout>
    </appender>
    <!-- 輸出到文件: RollingFileAppender-->
    <appender name="rolling" class="org.apache.log4j.RollingFileAppender">
        <!-- 設(shè)置日志信息輸出文件全路徑名 -->
        <param name="File" value="D:/log4j/RollingFileAppender.log" />
        <!-- 設(shè)置是否在重新啟動(dòng)服務(wù)時(shí),在原有日志的基礎(chǔ)添加新日志 -->
        <param name="Append" value="true" />
        <!-- 設(shè)置保存?zhèn)浞莼貪L日志的最大個(gè)數(shù) -->
        <param name="MaxBackupIndex" value="10" />
        <!-- 設(shè)置當(dāng)日志文件達(dá)到此閾值的時(shí)候自動(dòng)回滾,單位可以是KB,MB,GB,默認(rèn)單位是KB -->
        <param name="MaxFileSize" value="10KB" />
        <!-- 設(shè)置日志輸出的樣式 -->
        <layout class="org.apache.log4j.PatternLayout">
            <!-- 設(shè)置日志輸出的格式 -->
            <param name="ConversionPattern" value="[%d{yyyy-MM-dd HH:mm:ss:SSS}] [%-5p] [method:%l]%n%m%n%n" />
        </layout>
    </appender>
    <!-- 根logger的設(shè)置-->
    <root>
        <level value ="INFO"/>
        <appender-ref ref="CONSOLE"/>
        <appender-ref ref="daily"/>
    </root>
</log4j:configuration>

3、測(cè)試將數(shù)據(jù)信息輸出到日志文件中去

package application;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class TestQuartz {
    private static Log log = LogFactory.getLog(TestQuartz.class);
    public static void main(String[] args) {
        log.info("真高興,我輸出到指定的日志文件中來(lái)了");
    }
}

執(zhí)行方法后,日志信息被打印到了D:/log/info.log文件中

同時(shí)在控制臺(tái)中也有打印輸出

到此這篇關(guān)于Java 配置log 將日志信息輸出到指定日志文件中的文章就介紹到這了,更多相關(guān)java log日志輸出指定日志文件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java實(shí)現(xiàn)上傳文件到服務(wù)器的示例代碼

    Java實(shí)現(xiàn)上傳文件到服務(wù)器的示例代碼

    這篇文章主要為大家詳細(xì)介紹了如何使用Java實(shí)現(xiàn)上傳文件到服務(wù)器,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-04-04
  • Java通過(guò)底層原碼了解數(shù)組拷貝

    Java通過(guò)底層原碼了解數(shù)組拷貝

    一般說(shuō)起數(shù)組的拷貝,首先想到的就是用循環(huán)對(duì)數(shù)組進(jìn)行拷貝。但其實(shí)JAVA為我們提供了一些拷貝數(shù)組比較方便的方法,有完全拷貝的方法,也有部分拷貝的方法。接下來(lái)就一一介紹這些方法
    2022-07-07
  • Java Vector類(lèi)詳解及實(shí)例代碼

    Java Vector類(lèi)詳解及實(shí)例代碼

    這篇文章主要介紹了Java Vector類(lèi)詳解及實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下
    2017-01-01
  • 最新評(píng)論