log4j的category属性

如果只想要将某些包或者类下的日志输出到指定日志文件,可以使用category属性
<category name="com.xxx.DocSearcherLogger" additivity="false">
		<level value="INFO" />
		<appender-ref ref="docSearchLogger" />
	</category>
	
	<appender name="docSearchLogger" class="org.apache.log4j.RollingFileAppender">
		<param name="File" value="D:/xx.log" />
		<param name="Append" value="true" />
		<param name="MaxFileSize" value="10240KB" />
		<layout class="org.apache.log4j.PatternLayout">
			<param name="ConversionPattern" value="%d{MM-dd HH:mm:ss}\t%m%n" />
		</layout>
	</appender>

表示将DocSearcherLogger类中的日志输出到D:/xx.log中
DocSearcherLogger.java如下
public final class DocSearcherLogger
{
    private static final Log log = LogFactory.getLog(DocSearcherLogger.class);

    public static void warn(final String message)
    {
        log.debug(message);
    }

    public static void error(final String message)
    {
        log.warn(message);
    }

    private DocSearcherLogger()
    {
    }
}

这样,在代码中用DocSearcherLogger下的方法就可以输出到指定的日志文件中
另:additivity="false"表示只输出到指定log,不继承父配置

猜你喜欢

转载自15901458930.iteye.com/blog/2226201