Pranav Pratap created LOG4J2-808:
------------------------------------
Summary: RegexFilter does not work properly with
RollingFileAppenders
Key: LOG4J2-808
URL: https://issues.apache.org/jira/browse/LOG4J2-808
Project: Log4j 2
Issue Type: Bug
Components: Filters
Affects Versions: 2.0-rc1
Reporter: Pranav Pratap
Fix For: 2.0-rc1
I am trying to use Regexfilter in RollingFileAppender. For 1st matching
instance it retreived the logger, but after that I different patttern but
nothing is logged in the file. Here is what I am using:
Main Class:
public class MainApp {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
final Logger logger =
LogManager.getLogger(MainApp.class.getName());
ApplicationContext context =
new ClassPathXmlApplicationContext("Beans.xml");
HelloWorld obj = (HelloWorld) context.getBean("helloWorld");
logger.trace("NPF:Trace:Entering Log4j2 Example.");
logger.debug("NTL:debug Entering Log4j2 Example.");
obj.getMessage();
Company comp = new Company();
comp.setCompName("ANC");
comp.setEstablish(1889);
CompanyBusiness compBus = (CompanyBusiness)context.getBean("compBus");
compBus.finaceBusiness(comp.getCompName(), comp.getEstablish());
logger.trace("NTL: Trace: Exiting Log4j2 Example.");
}}
log4j2.xml:
<?xml version="1.0" encoding="UTF-8" ?>
<Configuration>
<Appenders>
<Console name="STDOUT" target="SYSTEM_OUT">
<PatternLayout pattern="%d{yyyy-MM-dd [%t] HH:mm:ss}
%-5p %c{1}:%L - %m%X%n" />
</Console>
<RollingFile name="RollingFile"
fileName="C:\logTest\runtime\tla\els3.log" append="true"
filePattern="C:\logTest\runtime\tla\els3-%d{yyyy-MM-dd}-%i.log" >
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} -
%m%X%n" />
<RegexFilter regex=".*business*." onMatch="ACCEPT"
onMismatch="DENY"/>
<Policies>
<SizeBasedTriggeringPolicy size="20 MB" />
</Policies>
</RollingFile>
</Appenders>
<Loggers>
<Logger name="com.anc" level="trace"/>
<Root level="trace">
<AppenderRef ref="STDOUT" />
<AppenderRef ref="RollingFile"/>
</Root>
</Loggers>
</Configuration>
When I ran for the first time, in my logfile I got logs having only "business"
related line. Latter I changed the patter from ".*business*." to "business",
logging did not happen in file nor on the console. Also my application
terminated without anykind of logging.
Then I tried to revert back the pattern to ".*business*.", thereafter no
logging happened on the log file, but on the console all the log trace is
printed. When I comment out the Regexfilter after trying for long time, my logs
was printed in the log file.
I am not sure if this is a bug of Regexfilter works only for one time. Also if
we do not pass any patter matching characters, the application stops without
any log printing either on console or file.
--
This message was sent by Atlassian JIRA
(v6.2#6252)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]