2017-10-21 69 views
0

J'ai un ancien projet qui utilise log4j (pas log4j2), il va imprimer le nom du fichier et le numéro de ligne.log4j AsyncAppender n'affiche pas le numéro de ligne

2017-10-21 17:08:54,198 INFO [com.fudy.log4j.PerformanceLogger.info:11

<appender name="console" class="org.apache.log4j.ConsoleAppender"> 
    <layout class="org.apache.log4j.PatternLayout"> 
     <param name="ConversionPattern" value="%d %p [%c.%M:%L] : %m%n" /> 
    </layout> 
</appender> 

après que j'ajouter à AsyncAppender log4j.xml

<logger name="com.fudy.log4j.PerformanceLogger" additivity="false"> 
    <level value="DEBUG" /> 
    <appender-ref ref="async" /> 
</logger> 

il imprimer? au lieu du nom de la méthode et linenumber:

2017-10-21 17:24:17,909 INFO [com.fudy.log4j.PerformanceLogger.?:? 

après googlé, toute solution est d'ajouter includeLocation dans log4j2, est-il une solution pour logj4 1.x

Répondre

0

J'ai trouvé la solution pour log4j 1.x

<appender name="async" class="org.apache.log4j.AsyncAppender"> 
    <param name="BufferSize" value="256"/> 
    <param name="LocationInfo" value="true"/> <!-- add this one --> 
    <appender-ref ref="console"/> 
</appender>