You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@logging.apache.org by "Volkan Yazici (Jira)" <ji...@apache.org> on 2021/12/24 15:06:00 UTC

[jira] [Commented] (LOG4J2-3266) ${CTX :ThreadName} does not work

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

Volkan Yazici commented on LOG4J2-3266:
---------------------------------------

I guess you need to inline {{fileName="$\{Thread_file\}"}} as described [here|https://github.com/apache/logging-log4j2/blob/release-2.x/docs/2.17.0-interpolation.md]. Let me know if this works for you.

> ${CTX :ThreadName} does not work  
> ----------------------------------
>
>                 Key: LOG4J2-3266
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-3266
>             Project: Log4j 2
>          Issue Type: Bug
>          Components: API
>    Affects Versions: 2.17.0
>            Reporter: wangbaohua
>            Priority: Critical
>
> ${CTX :ThreadName} does not work at 2.17.0, but works fine below 2.16.0  
> My configuration is as follows  :
> ---------------------------------------------------------------------------------------------------
> <?xml version="1.0" encoding="utf-8"?>
> <!--按线程分文件,按线程ID:ThreadID 按线程名:ThreadName-->
> <!--monitorInterval 热改生效时长配置 值以分钟为单位-->
> <configuration monitorInterval="1">
>   <!--属性定义-->
>   <Properties>
>     <!-- 日志路径 -->
>     <property name="LOG_HOME">${sys:logPath}</property>
>     <!--日志切割的最小单位-->
>     <property name="every_file_size">50M</property>
>     <!--日志打印格式-->
>     <property name="log_pattern">%d\{yyyy-MM-dd HH:mm:ss,SSS} %-5.5p [%t] %X\{codeline} -%m%n</property>
>     <!--日志输出级别-->
>     <property name="output_log_level_fatal">fatal</property>
>     <property name="output_log_level_warn">warn</property>
>     <property name="output_log_level_debug">debug</property>
>     <property name="output_log_level_info">info</property>
>     <property name="output_log_level_error">error</property>
>     <property name="output_log_level_trace">trace</property>
>     <!--打印模式:线程打印(thread),汇总打印(summary)-->
>     <property name="print_type">summary</property>
>     <property name="max_size">10</property>
>     <property name="error_file">${LOG_HOME}/logs/log.error</property>
>     <property name="Thread_file">${LOG_HOME}/logs/log.${ctx:ThreadName}</property>
>     <property name="all_file">${LOG_HOME}/logs/DLframe.log</property>
>     <property name="kafka_file">${LOG_HOME}/logs/log.kafka</property>
>   </Properties>
>   <Appenders>
>     <Kafka name="Kafka" topic="dlFrameAlarm">
>       <Property name="bootstrap.servers">KAFKA0:9092</Property>
>       <PatternLayout>
>         <pattern>\{"time":"%d{yyyy-MM-dd HH:mm:ss}","App":"alarmEngine","hostName":"${env:HOSTNAME}","loggerName":"%c","line":"%L","level":"%p","thread":"%t","message":"%m"}
>         </pattern>
>       </PatternLayout>
>       <Filters>
>         <ThresholdFilter level="warn" onMatch="ACCEPT" onMismatch="DENY"/>
>       </Filters>
>     </Kafka>
>     <!--ERROR日志输出,包括(FATAL ERROR Exception)-->
>     <RollingFile name="errorRolling" fileName="${error_file}" filePattern="${LOG_HOME}/logs/log.error.%i">
>       <PatternLayout pattern="${log_pattern}"/>
>       <SizeBasedTriggeringPolicy size="${every_file_size}"/>           
>       <DefaultRolloverStrategy max="${max_size}"/>
>       <Filters>
>         <!--RegexFilter regex=".*Exception.*" onMatch="ACCEPT" onMismatch="NEUTRAL"/-->
>         <ThresholdFilter level="error" onMatch="ACCEPT" onMismatch="DENY"/>
>       </Filters>
>     </RollingFile>
>     <!--日志输出,按线程名称进行-->
>     <Routing name="ThreadRolling">
>       <Routes pattern="$${ctx:ThreadName}">
>         <Route>
>           <RollingFile name="RollingFile-${ctx:ThreadName}" fileName="${Thread_file}" filePattern="${LOG_HOME}/logs/log.${ctx:ThreadName}.%i" append="true">
>             <PatternLayout pattern="${log_pattern}"/>
>             <Policies>
>               <SizeBasedTriggeringPolicy size="${every_file_size}"/>
>             </Policies>
>             <DefaultRolloverStrategy max="${max_size}"/>
>             <Filters>
>               <ThresholdFilter level="fatal" onMatch="ACCEPT" onMismatch="NEUTRAL"/>
>               <ThresholdFilter level="error" onMatch="ACCEPT" onMismatch="NEUTRAL"/>
>               <ThresholdFilter level="warn" onMatch="ACCEPT" onMismatch="NEUTRAL"/>
>               <ThresholdFilter level="info" onMatch="ACCEPT" onMismatch="NEUTRAL"/>
>               <ThresholdFilter level="debug" onMatch="ACCEPT" onMismatch="NEUTRAL"/>
>               <ThresholdFilter level="trace" onMatch="ACCEPT" onMismatch="DENY"/>
>             </Filters>
>           </RollingFile>
>         </Route>
>       </Routes>
>     </Routing>
>     <!-- =======================================打印汇总的日志到文件======================================= -->
>     <RollingFile name="allRolling" fileName="${all_file}" filePattern="${LOG_HOME}/logs/DLframe.log.%i" append="true">
>       <PatternLayout pattern="${log_pattern}"/>
>       <Policies>
>         <SizeBasedTriggeringPolicy size="${every_file_size}"/>
>       </Policies>
>       <DefaultRolloverStrategy max="${max_size}" />
>       <Filters>
>         <ThresholdFilter level="fatal" onMatch="ACCEPT" onMismatch="NEUTRAL"/>
>         <ThresholdFilter level="error" onMatch="ACCEPT" onMismatch="NEUTRAL"/>
>         <ThresholdFilter level="warn" onMatch="ACCEPT" onMismatch="NEUTRAL"/>
>         <ThresholdFilter level="info" onMatch="ACCEPT" onMismatch="NEUTRAL"/>
>         <ThresholdFilter level="debug" onMatch="ACCEPT" onMismatch="NEUTRAL"/>
>         <ThresholdFilter level="trace" onMatch="ACCEPT" onMismatch="DENY"/>
>       </Filters>
>     </RollingFile>
>     <!-- =======================================打印kafka的日志到文件======================================= -->
>     <RollingFile name="kafkaFile" fileName="${kafka_file}" filePattern="${LOG_HOME}/logs/log.kafka.%i" append="true">
>       <PatternLayout pattern="${log_pattern}"/>
>       <Policies>
>         <SizeBasedTriggeringPolicy size="${every_file_size}"/>
>       </Policies>
>       <DefaultRolloverStrategy max="${max_size}" />
>       <Filters>
>         <ThresholdFilter level="fatal" onMatch="ACCEPT" onMismatch="NEUTRAL"/>
>         <ThresholdFilter level="error" onMatch="ACCEPT" onMismatch="NEUTRAL"/>
>         <ThresholdFilter level="warn" onMatch="ACCEPT" onMismatch="NEUTRAL"/>
>         <ThresholdFilter level="info" onMatch="ACCEPT" onMismatch="NEUTRAL"/>
>         <ThresholdFilter level="debug" onMatch="ACCEPT" onMismatch="NEUTRAL"/>
>         <ThresholdFilter level="trace" onMatch="ACCEPT" onMismatch="DENY"/>
>       </Filters>
>     </RollingFile>
>   </Appenders>
>   <Loggers>
>     <!--业务、平台侧的日志都打在一起,这样便于定位问题-->
>     <Logger name="com.asap" level="${output_log_level_info}" includeLocation="true">
>       <AppenderRef ref="ThreadRolling"/>
>       <AppenderRef ref="errorRolling"/>
>       <AppenderRef ref="Kafka"/>
>     </Logger>
>     <!--业务、平台侧的日志都打在一起,这样便于定位问题-->
>     <Logger name="org.apache.kafka" level="${output_log_level_warn}" includeLocation="true">
>       <AppenderRef ref="kafkaFile"/>
>     </Logger>
>     <!--必须配置root信息-->
>     <Root level="${output_log_level_error}" includeLocation="false"/>
>   </Loggers>
> </configuration>
> -------------------------------------------------------------------------------------------------



--
This message was sent by Atlassian Jira
(v8.20.1#820001)