[ 
https://issues.apache.org/jira/browse/LOG4J2-1229?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15067163#comment-15067163
 ] 

Dmitriy Dumanskiy commented on LOG4J2-1229:
-------------------------------------------

{code}
<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
    <Appenders>

        <File name="admin" fileName="${sys:logs.folder}/admin.log">
            <PatternLayout>
                <pattern>%d{HH:mm:ss.SSS} - %msg%n</pattern>
            </PatternLayout>
        </File>

        <RollingFile name="workersLog" fileName="${sys:logs.folder}/worker.log"
                     
filePattern="${sys:logs.folder}/archive/worker.log.%d{yyyy-MM-dd}">
            <PatternLayout>
                <pattern>%d{HH:mm:ss.SSS} - %msg%n</pattern>
            </PatternLayout>
            <Policies>
                <TimeBasedTriggeringPolicy/>
            </Policies>
        </RollingFile>

        <RollingFile name="statsLog" fileName="${sys:logs.folder}/stats.log"
                     
filePattern="${sys:logs.folder}/archive/stats.log.%d{yyyy-MM-dd}">
            <PatternLayout>
                <pattern>%msg%n</pattern>
            </PatternLayout>
            <Policies>
                <TimeBasedTriggeringPolicy/>
            </Policies>
        </RollingFile>

        <Routing name="userLog">
            <Routes pattern="$${ctx:user}">

                <!-- This route is chosen if ThreadContext has no value for key 
"user". -->
                <Route key="$${ctx:user}">
                    <RollingFile name="default" 
fileName="${sys:logs.folder}/blynk.log"
                                 
filePattern="${sys:logs.folder}/archive/blynk.log.%d{yyyy-MM-dd}">
                        <PatternLayout>
                            <pattern>%d{HH:mm:ss.SSS} %-5level - 
%msg%n</pattern>
                        </PatternLayout>
                        <Policies>
                            <TimeBasedTriggeringPolicy/>
                        </Policies>
                    </RollingFile>
                </Route>

                <!-- This route is chosen if ThreadContext has a value for 
"user"
                The value dynamically determines the name of the log file. -->
                <Route>
                    <File name="${ctx:user}" 
fileName="${sys:logs.folder}/users/${ctx:user}.log">
                        <PatternLayout>
                            <pattern>%d{HH:mm:ss.SSS} %-5level - 
%msg%n</pattern>
                        </PatternLayout>
                    </File>
                </Route>
            </Routes>
        </Routing>

        <Routing name="dataStorage">
            <Routes pattern="$${ctx:user}_$${ctx:dashId}_$${ctx:pin}">

                <!-- This route is chosen if ThreadContext has a value for 
"user"
                The value dynamically determines the name of the log file. -->
                <Route>
                    <RollingFile name="$${ctx:user}_$${ctx:dashId}_$${ctx:pin}" 
fileName="${sys:data.folder}/data/${ctx:user}/${ctx:dashId}_${ctx:pin}.csv"
                                 
filePattern="${sys:data.folder}/data/${ctx:user}/${ctx:dashId}_${ctx:pin}-%d{yyyy-MM-dd}.csv.gz">
                        <PatternLayout>
                            <pattern>%msg%n</pattern>
                        </PatternLayout>
                        <Policies>
                            <TimeBasedTriggeringPolicy/>
                        </Policies>
                    </RollingFile>
                </Route>
            </Routes>
        </Routing>

    </Appenders>
    <Loggers>

        <Logger name="cc.blynk.server.workers.ProfileSaverWorker" level="debug" 
additivity="false">
            <appender-ref ref="workersLog"/>
        </Logger>
        <Logger name="cc.blynk.server.workers.timer.TimerWorker" level="debug" 
additivity="false">
            <appender-ref ref="workersLog"/>
        </Logger>
        <Logger name="cc.blynk.server.workers.StatsWorker" level="debug" 
additivity="false">
            <appender-ref ref="statsLog"/>
        </Logger>
        <Logger name="cc.blynk.server.core.administration" level="debug" 
additivity="false">
            <appender-ref ref="admin"/>
        </Logger>
        <Logger name="cc.blynk.server.handlers.http.admin" level="debug" 
additivity="false">
            <appender-ref ref="admin"/>
        </Logger>
        <Logger name="cc.blynk.server.dao.ReportingDao" level="info" 
additivity="false">
            <appender-ref ref="dataStorage"/>
        </Logger>

        <Root level="debug">
            <AppenderRef ref="userLog"/>
        </Root>
    </Loggers>
</Configuration>
{code}

{code}
        System.setProperty("Log4jContextSelector", 
"org.apache.logging.log4j.core.async.AsyncLoggerContextSelector");
        System.setProperty("AsyncLogger.RingBufferSize", String.valueOf(8 * 
1024));
{code}

POM :

{code}
        <dependency>
            <groupId>com.lmax</groupId>
            <artifactId>disruptor</artifactId>
            <version>3.3.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-api</artifactId>
            <version>2.5</version>
        </dependency>
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-core</artifactId>
            <version>2.5</version>
        </dependency>
{code}

> Error creating logger
> ---------------------
>
>                 Key: LOG4J2-1229
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-1229
>             Project: Log4j 2
>          Issue Type: Bug
>          Components: Appenders
>    Affects Versions: 2.4.1, 2.5
>         Environment: Ubuntu 14.04
>            Reporter: Dmitriy Dumanskiy
>             Fix For: 2.5.1
>
>
> I have a lot of VMs where everything is fine. But on some of them  I get 
> below stack trace. I have a feeling it somehow related with access rights. 
> Here is stack trace :
> {code}
> 2015-12-21 08:05:06,036 AsyncLogger-1 ERROR Unable to invoke factory method 
> in class class org.apache.logging.log4j.core.appender.RollingFileAppender for 
> element RollingFile. java.lang.reflect.InvocationTargetException
>     at sun.reflect.GeneratedMethodAccessor7.invoke(Unknown Source)
>     at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>     at java.lang.reflect.Method.invoke(Method.java:497)
>     at 
> org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.build(PluginBuilder.java:136)
>     at 
> org.apache.logging.log4j.core.config.AbstractConfiguration.createPluginObject(AbstractConfiguration.java:813)
>     at 
> org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:753)
>     at 
> org.apache.logging.log4j.core.appender.routing.RoutingAppender.createAppender(RoutingAppender.java:152)
>     at 
> org.apache.logging.log4j.core.appender.routing.RoutingAppender.getControl(RoutingAppender.java:136)
>     at 
> org.apache.logging.log4j.core.appender.routing.RoutingAppender.append(RoutingAppender.java:110)
>     at 
> org.apache.logging.log4j.core.config.AppenderControl.tryCallAppender(AppenderControl.java:152)
>     at 
> org.apache.logging.log4j.core.config.AppenderControl.callAppender0(AppenderControl.java:125)
>     at 
> org.apache.logging.log4j.core.config.AppenderControl.callAppenderPreventRecursion(AppenderControl.java:116)
>     at 
> org.apache.logging.log4j.core.config.AppenderControl.callAppender(AppenderControl.java:84)
>     at 
> org.apache.logging.log4j.core.config.LoggerConfig.callAppenders(LoggerConfig.java:390)
>     at 
> org.apache.logging.log4j.core.config.LoggerConfig.processLogEvent(LoggerConfig.java:378)
>     at 
> org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:362)
>     at 
> org.apache.logging.log4j.core.config.AwaitCompletionReliabilityStrategy.log(AwaitCompletionReliabilityStrategy.java:79)
>     at 
> org.apache.logging.log4j.core.async.AsyncLogger.actualAsyncLog(AsyncLogger.java:385)
>     at 
> org.apache.logging.log4j.core.async.RingBufferLogEvent.execute(RingBufferLogEvent.java:103)
>     at 
> org.apache.logging.log4j.core.async.RingBufferLogEventHandler.onEvent(RingBufferLogEventHandler.java:43)
>     at 
> org.apache.logging.log4j.core.async.RingBufferLogEventHandler.onEvent(RingBufferLogEventHandler.java:28)
>     at 
> com.lmax.disruptor.BatchEventProcessor.run(BatchEventProcessor.java:128)
>     at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>     at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>     at java.lang.Thread.run(Thread.java:745)
> Caused by: java.lang.IllegalStateException: ManagerFactory 
> [org.apache.logging.log4j.core.appender.rolling.RollingFileManager$RollingFileManagerFactory@346629f5]
>  unable to create manager for [/data/<email address here>/1_v4.csv] with data 
> [org.apache.logging.log4j.core.appender.rolling.RollingFileManager$FactoryData@6d48f4b0]
>     at 
> org.apache.logging.log4j.core.appender.AbstractManager.getManager(AbstractManager.java:73)
>     at 
> org.apache.logging.log4j.core.appender.OutputStreamManager.getManager(OutputStreamManager.java:61)
>     at 
> org.apache.logging.log4j.core.appender.rolling.RollingFileManager.getFileManager(RollingFileManager.java:79)
>     at 
> org.apache.logging.log4j.core.appender.RollingFileAppender.createAppender(RollingFileAppender.java:193)
>     ... 25 more
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to