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

Ralph Goers commented on LOG4J2-3046:
-------------------------------------

On the server side you are receiving JSON with the application name in it. As I 
said, you have to parse the JSON and then log the result of that. You may have 
to create a custom Object to match the JSON so it can be parsed with Jackson. 
To be honest, I've never tried that. Once you do that all the data should be 
available for you to log, including the application name. I really can't offer 
much more help than that.

> Socket Appender: retrieve variables from the client to the socket server
> ------------------------------------------------------------------------
>
>                 Key: LOG4J2-3046
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-3046
>             Project: Log4j 2
>          Issue Type: Question
>          Components: Appenders
>         Environment: maven
> java 8
>            Reporter: Mykola Holovach
>            Priority: Major
>
> My listener log4j2.xml configuartion, in the PatternLayout section i'm tried 
> %X\{application} and ${application}
> {code:java}
> <Configuration xmlns="http://logging.apache.org/log4j/2.0/config";>  
> <Appenders>
>       <RollingRandomAccessFile name="ERROR_FILE" bufferSize="1024" 
> bufferedIO="true" append="true"
>               fileName="${LOGS_HOME}/logfinal-error-${HOST_NAME_SHORT}.log"
>               
> filePattern="${LOGS_HOME}/logfinal-error-${HOST_NAME_SHORT}.log.%d{yyyy-MM-dd}">
>               <ThresholdFilter level="warn" />
>               <PatternLayout pattern="%d{DEFAULT} %-5p %t %c %X{application} 
> %x - %m%n" />
>           <Policies>
>               <TimeBasedTriggeringPolicy interval="1"/>
>           </Policies>
>       </RollingRandomAccessFile>      <RollingRandomAccessFile 
> name="DEBUG_FILE" bufferSize="32768" bufferedIO="true" append="true" 
>               fileName="${LOGS_HOME}/logfinal-debug-${HOST_NAME_SHORT}.log"
>               
> filePattern="${LOGS_HOME}/logfinal-debug-${HOST_NAME_SHORT}.log.%d{yyyy-MM-dd}">
>               <ThresholdFilter level="debug" />
>               <PatternLayout pattern="%d{DEFAULT} %-5p %t %c ${application} 
> %x - %m%n" />
>           <Policies>
>               <TimeBasedTriggeringPolicy interval="1"/>
>           </Policies>
>       </RollingRandomAccessFile>      <Async name="ASYNC" bufferSize="64">
>               <AppenderRef ref="ERROR_FILE" />
>               <AppenderRef ref="DEBUG_FILE" />
>       </Async>
>   </Appenders>  <Loggers>
>       <Logger name="ua" level="debug" />
>       <Logger name="ua.cetelem.DossierAnalyser" level="info" />
>       <Logger name="ua.cetelem.dbaccess.DbAccess" level="info" />
>       <Logger name="com.usb" level="debug" />
>       <Logger name="jacorb" level="info"/>
>       <Logger name="org.owasp" level="trace"/>
>     <Root level="info">
>       <AppenderRef ref="ASYNC"/>
>     </Root>
>   </Loggers></Configuration>
> {code}
>  
> My client log4j2.xml configuartion, in the <Loggers> section i'm added
> <Property name="application">app_name</Property>
> {code:java}
> <Configuration xmlns="http://logging.apache.org/log4j/2.0/config";>    
> <Appenders>
>         <Socket name="logfinal" host="localhost" port="1101">
>               <JSONLayout/>
>         </Socket>             <RollingFile name="ERROR_FILE"
>                       
> fileName="build/${sys:LOG4J_APP_NAME:-}-error-${HOST_NAME_SHORT}.log"
>                       
> filePattern="build/${sys:LOG4J_APP_NAME:-}-error-${HOST_NAME_SHORT}.log.%d{yyyy-MM-dd}">
>                       <ThresholdFilter level="warn" />
>                       <PatternLayout
>                               pattern="%d{DEFAULT} %-5p %t %c %x - %m%n" />
>                       <Policies>
>                               <TimeBasedTriggeringPolicy interval="1" />
>                       </Policies>
>               </RollingFile>          <RollingFile name="DEBUG_FILE"
>                       
> fileName="build/${sys:LOG4J_APP_NAME:-}-debug-${env:NAME_SHORT}.log"
>                       
> filePattern="build/${sys:LOG4J_APP_NAME:-}-debug-${env:NAME_SHORT}.log.%d{yyyy-MM-dd}">
>                       <ThresholdFilter level="debug" />
>                       <PatternLayout
>                               pattern="%d{DEFAULT} %-5p %t %c %x - %m%n" />
>                       <Policies>
>                               <TimeBasedTriggeringPolicy interval="1" />
>                       </Policies>
>               </RollingFile>
>               
>               <Async name="ASYNC" bufferSize="64">
>                       <AppenderRef ref="ERROR_FILE" />
>                       <AppenderRef ref="DEBUG_FILE" />
>                       <AppenderRef ref="logfinal" />
>               </Async>
>         
>     </Appenders>      <Loggers>
>               <Logger name="org.hibernate.tool.hbm2ddl" level="DEBUG" />
>               <Logger name="org.hibernate.SQL" level="INFO" />
>               <Logger name="ua.cetelem" level="debug" />
>               <Root level="info">
>                       <Property name="application">app_name</Property>
>                       <AppenderRef ref="ASYNC" />
>               </Root>
>       </Loggers>
> </Configuration>
> {code}
> I'm trying to get application name of the client sending each event, but it's 
> doesn't work for me, i'm tried different ways, no luck, please help me to 
> resolve this problem. Thanks in advance!
>  
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to