Skip to main content
Announcements
A fresh, new look for the Data Integration & Quality forums and navigation! Read more about what's changed.
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

log4j to a file

Hi, 
I need help to write log4j logging information to a file. By default log4J is writing on console. How should I configure, and where should I configure If I want log4J to write logging information to a file like " c:/log.txt ".

 
Thanks,
Abhi529

Labels (2)
11 Replies
Anonymous
Not applicable
Author

Hello,

Please take a look at this related topic:https://community.talend.com/t5/Design-and-Development/Issue-with-tRest/m-p/31782

You can do this with a little Java code in a tJava component at the beginning of your Job or use a custom component tredirectOutput.

Let us know if it is Ok with you.

Best regards

Sabrina

 

 

Anonymous
Not applicable
Author

Hi @xdshi,

thanks for your answer but it is not work for me.

I have added the following code into log4j.xml.....then still i am unable to get the the log4j file in reqired location...

 <appender name="DailyFileAppender" class="org.apache.log4j.DailyRollingFileAppender">
		<param name="DatePattern" value="'.'yyyy-MM-dd"/>
		<param name="File" value="c:/log/myjob.txt "/>
		<param name="Append" value="true"/>
		<layout class="org.apache.log4j.PatternLayout">
			<param name="ConversionPattern" value="%d{HH:mm:ss,SSS} %-5p %c{2} - %m%n"/>
		</layout>
	</appender>

Please find below image...

0683p000009LwQT.jpg

Thanks,

Abhi529

Anonymous
Not applicable
Author

Hi,

You added code into log4j.xml?

Have you tried to use this custom component tredirectoutput which is used to redirect all the message printed on the console to a file. to see if it works?

Best regards

Sabrina

 

Anonymous
Not applicable
Author

Hello,

Is there any update for your issue? Feel free to post your issue here.

Best regards

Sabrina

Anonymous
Not applicable
Author

Hi@xdshi ,I've tried your method too, but it doesn't work.

 

Anonymous
Not applicable
Author

Hello,

Which section will block you? Are you able using tJava component to save your output in a file?

Best regards

Sabrina

Anonymous
Not applicable
Author

Thank you for your answer.But how do I use the tJava component  to output the content of log4j?

charlesclement1
Contributor

Hi all,

 

You need to complete with this at the end :

 

    <!-- Root Logger -->  
	<root>
		<priority value ="warn"/>
		<appender-ref ref="CONSOLE"/>
		<appender-ref ref="DailyFileAppender"/>
	</root>

Here my complete configuration : 

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
  
<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/' >
  
  	<!--  CONSOLE appender  -->
	<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
		<layout class="org.apache.log4j.PatternLayout">
		 	<param name="ConversionPattern"  
		  		value="[%-5p]: %c - %m%n" />
		</layout>
	</appender>

 <appender name="DailyFileAppender" class="org.apache.log4j.DailyRollingFileAppender">
		<param name="DatePattern" value="'.'yyyy-MM-dd"/>
		<param name="File" value="c:/log/myjob.txt "/>
		<param name="Append" value="true"/>
		<layout class="org.apache.log4j.PatternLayout">
			<param name="ConversionPattern" value="%d{HH:mm:ss,SSS} %-5p %c{2} - %m%n"/>
		</layout>
</appender>
	
	<!-- logstash appender -->
    <!-- <appender name="LOGSTASH" class="org.apache.log4j.net.SocketAppender">
        <param name="RemoteHost" value="localhost"/>
        <param name="Port" value="8052"/>
    </appender> -->
	
	<!-- Spring Logger -->  
	<logger name="log4j.logger.org.springframework">  
        <level value="WARN" />  
        <appender-ref ref="CONSOLE"/>
    </logger>
    
    <!-- throwableRenderer <throwableRenderer class="org.apache.log4j.EnhancedThrowableRenderer"/>--> 
	
    <!-- Root Logger -->  
	<root>
		<priority value ="warn"/>
		<appender-ref ref="CONSOLE"/>
		<appender-ref ref="DailyFileAppender"/>
	</root>
</log4j:configuration>
tale103108
Contributor III

I think your appender name has to be FILE not DailyFileAppender