1

Java EE アプリケーションが書き込む多くのログ情報を切り捨てるフィルターが必要です。私はStruts2を使用しています。

これは私のファイルですlog4j.properties

# Define the root logger with appender file
log = E:\\Uiip\\ProjectWork\\Workspace
log4j.rootLogger = DEBUG, DEBUG_APPENDER
log4j.logger.OTHER_LOGGER=DEBUG, INFO_APPENDER

log4j.additivity.OTHER_LOGGER = false

#File appender for log debug
log4j.appender.DEBUG_APPENDER=org.apache.log4j.FileAppender
log4j.appender.DEBUG_APPENDER.File=${log}/logDebug.txt

#File Appender for log info
log4j.appender.INFO_APPENDER=org.apache.log4j.FileAppender
log4j.appender.INFO_APPENDER.File=${log}/logInfo.txt

# Define the layout for file appender log debug
log4j.appender.DEBUG_APPENDER.layout=org.apache.log4j.PatternLayout
log4j.appender.DEBUG_APPENDER.layout.conversionPattern=%d [%t] %m%n

# Define the layout for file appender log info
log4j.appender.INFO_APPENDER.layout=org.apache.log4j.PatternLayout
log4j.appender.INFO_APPENDER.append=false
log4j.appender.INFO_APPENDER.layout.ConversionPattern= %d [%t] %m%n

アプリを起動するたびに、ログインだけで logdebug ファイルが約 1MB になります。

デバッグ ログファイルをフィルタリングするには、何を使用できますか?

Ps infofile は問題なく動作します。

4

2 に答える 2

0

エラー レベルをcategories に設定できます。次に例を示します。

# This will always be printed (except TRACE level...);
log4j.category.org.apache.struts2=DEBUG

# This will be printed only in INFO or higher
log4j.category.org.springframework.beans.factory.xml=INFO
log4j.category.org.springframework.jdbc.core.StatementCreatorUtils = INFO

# This will be printed only in ERROR or higher
log4j.category.com.opensymphony.xwork2=ERROR
log4j.category.freemarker.beans=ERROR
log4j.category.freemarker.cache=ERROR

ログレベルの詳細を読む

于 2013-04-17T11:45:27.913 に答える
0

プロパティ ファイルの構成を使用してフィルタリングを実行することはできません。代わりに xml 構成を使用してください。フィルターを使用したサンプル構成

<appender name="MyFileAppender" class="org.apache.log4j.FileAppender">
    <param name="File" value="myfile.log"/>
    <param name="Append" value="false"/>
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="%d{HH:mm:ss} [%t] %m%n"/>
    </layout>
    <filter class="org.apache.log4j.varia.StringMatchFilter">
        <param name="StringToMatch" value="MyStringToMatch" />
        <param name="AcceptOnMatch" value="true" />
    </filter>
    <filter class="org.apache.log4j.varia.DenyAllFilter"/>
</appender>
于 2013-04-17T14:35:46.810 に答える