'log4j'에 해당되는 글 3건

  1. 2007.11.30 Log4j를 이용하여 SMTP 서버로 메일로그 남기기

Log4J를 사용할때

appender를 하나 적어주고
category를 더해 주면 일이 끝난다.











<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
 <appender name="console" class="org.apache.log4j.ConsoleAppender">
  <param name="Target" value="System.out"/>
  <layout class="org.apache.log4j.PatternLayout">
   <param name="ConversionPattern" value="%-5p %c{1} - %m%n"/>
  </layout>
 </appender>

 <!-- ================= Appenders for Calculation =================-->
 <appender name="calculation_file" class="org.apache.log4j.RollingFileAppender">
  <param name="Threshold" value="ERROR"/>
  <param name="File" value="calculation.log"/>
  <param name="Append" value="true"/>
  <param name="MaxFileSize" value="500KB"/>
  <param name="MaxBackupIndex" value="1"/>
  <layout class="org.apache.log4j.PatternLayout">
   <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/>
  </layout>
 </appender>
 
 <!-- Mail Appender -->
 <appender name="calculation_smtp" class="org.apache.log4j.net.SMTPAppender">
  <param name="Threshold" value="ERROR"/>
  <param name="To" value="who@naver.com"/>
  <param name="From" value="me@gmail.com"/>
  <param name="Subject" value="Calculation Error"/>
  <param name="SMTPHost" value="smtpserver.yourdomain.com"/>
  <param name="SMTPUsername" value="myself@yourdomain.com"/>
  <param name="SMTPPassword" value="password"/>
  <param name="BufferSize" value="10"/>
  <layout class="org.apache.log4j.PatternLayout">
   <param name="ConversionPattern" value="[%d{ABSOLUTE},%c{1}] %m%n"/>
  </layout>
 </appender>

 <appender name="dao_file" class="org.apache.log4j.RollingFileAppender">
  <param name="Threshold" value="INFO"/>
  <param name="File" value="dao.log"/>
  <param name="Append" value="true"/>
  <param name="MaxFileSize" value="500KB"/>
  <param name="MaxBackupIndex" value="1"/>
  <layout class="org.apache.log4j.PatternLayout">
   <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/>
  </layout>
 </appender>

 <category name="calculation.error" additivity="false">
  <priority value="ERROR"/>
  <appender-ref ref="calculation_smtp"/>
 </category>
 
 <category name="com.xbrlkorea.claire.dao" additivity="false">
  <priority value="INFO"/>
  <appender-ref ref="dao_file"/>
 </category>

 <root>
     <priority value ="info" />
     <appender-ref ref="console" />
   </root>

</log4j:configuration>


smtp appender를 사용하면 되는데
이경우 인증이 필요로하는 smtp 서버의 경우 SMTPUsername과 SMTPPassword를 지정해주면된다.
이때 SMTPUsername의 경우는 계정명과 도메인명을 함께 적어주어야 한다.

Posted by
,