Really? The stackoverflow link is not an exact match, but you should be able to apply the same technique to achieve what you want, if I understand your question correctly.
Sent from my iPhone > On 2014/11/10, at 18:41, joey.lv <[email protected]> wrote: > > Hi Remko, > > Thanks for your reply, but I don't think it is what I wanted. > > > > > > > > From: Remko Popma > Date: 2014-11-10 17:22 > To: Log4J Users List > Subject: Re: [log4j2_2.1] How to write different log-messages to different > log-files? > The way to do this is to send all events to your error.log (appender-ref > level="trace"), > then in your appender declaration you add filters that accept warn, error and > fatal messages, and deny info, debug and trace messages. > > An example is here: > http://stackoverflow.com/questions/24695133/log4j2-filter-particular-level-in-apender > > > Sent from my iPhone > >> On 2014/11/10, at 16:16, joey.lv <[email protected]> wrote: >> >> I want to write the 'trace' and 'debug' messages to debug.log, 'info' >> messages to info.log, and 'warn','error','fafal' messages to error.log >> >> Here is a sample java code, >> package com.r7oad.udsp.common.cache.test; >> >> import org.apache.logging.log4j.LogManager; >> import org.apache.logging.log4j.Logger; >> >> public class Log4j2Test { >> private static final Logger logger = >> LogManager.getLogger(Log4j2Test.class); >> public static void main(String[] args){ >> logger.trace("Hello world - trace log"); >> logger.debug("Hello world - debug log"); >> logger.info("Hello world - info log"); >> logger.warn("Hello world - warn log"); >> logger.error("Hello world - error log"); >> logger.fatal("Hello world - fatal log"); >> } >> } >> >> >> log4j2.xml >> <?xml version="1.0" encoding="UTF-8"?> >> >> <configuration debug="off" monitorInterval="1800"> >> <Properties> >> <Property name="log-path">d://logs</Property> >> </Properties> >> >> <Appenders> >> <Console name="STDOUT"> >> <PatternLayout pattern="%d{HH:mm:ss.SSS} %-5level >> %class{36}.%M()/%L - %msg%xEx%n"/> >> </Console> >> >> >> <File name="app_debug" fileName="${log-path}/app/debug.log" >> append="false"> >> <PatternLayout pattern="%d{yyyy.MM.dd HH:mm:ss z} %-5level >> %class{36}.%M()/%L - %msg%xEx%n"/> >> </File> >> <File name="app_info" fileName="${log-path}/app/info.log" >> append="false"> >> <PatternLayout pattern="%d{yyyy.MM.dd HH:mm:ss z} %-5level >> %class{36}.%M()/%L - %msg%xEx%n"/> >> </File> >> <File name="app_error" fileName="${log-path}/app/error.log" >> append="false"> >> <PatternLayout pattern="%d{yyyy.MM.dd HH:mm:ss z} %-5level >> %class{36}.%M()/%L - %msg%xEx%n"/> >> </File> >> </Appenders> >> <Loggers> >> <Logger name="com.r7oad.udsp" level="trace" additivity="false"> >> <appender-ref ref="STDOUT"/> >> <appender-ref ref="app_debug"> >> <ThresholdFilter level="INFO" onMatch="DENY" >> onMismatch="NEUTRAL"/> >> <ThresholdFilter level="TRACE" onMatch="ACCEPT" >> onMismatch="DENY"/> >> </appender-ref> >> <appender-ref ref="app_info"> >> <ThresholdFilter level="WARN" onMatch="DENY" >> onMismatch="NEUTRAL"/> >> <ThresholdFilter level="INFO" onMatch="ACCEPT" >> onMismatch="DENY"/> >> </appender-ref> >> <appender-ref ref="app_error"> >> <thresholdFilter level="WARN" onMatch="ACCEPT" >> onMismatch="DENY"/> >> </appender-ref> >> </Logger> >> </Loggers> >> </configuration> >> >> >> messages in debug.log file. (correct) >> 2014.11.10 15:08:13 CST TRACE >> com.r7oad.udsp.common.cache.test.Log4j2Test.main()/9 - Hello world - trace >> log >> 2014.11.10 15:08:13 CST DEBUG >> com.r7oad.udsp.common.cache.test.Log4j2Test.main()/10 - Hello world - debug >> log >> >> >> >> messages in info.log file. ( not correct) >> 2014.11.10 15:08:13 CST TRACE >> com.r7oad.udsp.common.cache.test.Log4j2Test.main()/9 - Hello world - trace >> log >> 2014.11.10 15:08:13 CST DEBUG >> com.r7oad.udsp.common.cache.test.Log4j2Test.main()/10 - Hello world - debug >> log >> 2014.11.10 15:08:13 CST INFO >> com.r7oad.udsp.common.cache.test.Log4j2Test.main()/11 - Hello world - info >> log >> >> >> messages in error.log file. (correct) >> 2014.11.10 15:08:13 CST WARN >> com.r7oad.udsp.common.cache.test.Log4j2Test.main()/12 - Hello world - warn >> log >> 2014.11.10 15:08:13 CST ERROR >> com.r7oad.udsp.common.cache.test.Log4j2Test.main()/13 - Hello world - error >> log >> 2014.11.10 15:08:13 CST FATAL >> com.r7oad.udsp.common.cache.test.Log4j2Test.main()/14 - Hello world - fatal >> log >> >> >> so, how to config the <ThresholdFilter/> to achieve my purpose? > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
