spring中对log的使用:
private static final Log logger = LogFactory.getLog(ContextLoader.class);
private static final String DEFAULT_STRATEGIES_PATH = "ContextLoader.properties";
private static final Properties defaultStrategies;
可见:static final中的大写只针对String类型,代表字符串常量,其他类型则一般不用大写。
写法1:方便继承:protected , 不用写类名:
this
.getClass().getName()
- protected Logger logger = LoggerFactory.getLogger(this.getClass().getName());
方法2:在构造函数中初始化
- protected static Logger logger;
- CaseToSourcePanamaMojo(){
- logger = LoggerFactory.getLogger(getClass().getName());
- }
例子:无配置文件
- Logger logger = Logger.getLogger(Log4jSample.class);
- BasicConfigurator.configure();
- logger.setLevel(Level.INFO);
-
- logger.debug("debug msg.");
- logger.info("info msg.");
- logger.warn("warn msg.");
- logger.error("error msg.");
- logger.fatal("fatal msg.");
Log4j按级别输出日志到不同的文件
<?
xml
version
="1.0"
encoding
="UTF-8"
?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<!--
#log4j中有5级logger ,#FATAL 0 ,#ERROR 3 ,#WARN 4 ,#INFO 6 ,#DEBUG 7 -->
<
log4j:configuration
xmlns:log4j
='http://jakarta.apache.org/log4j/'
>
<!--
输出到控制台-->
<!--
<appender name="LOG.Console" class="org.apache.log4j.ConsoleAppender"> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d{yyy-MM-dd HH:mm:ss} [%-5p] %c {%F:%L} - %m%n" /> </layout> </appender> -->
<!--
将级别为DEBUG的信息输出到控制台-->
<
appender
name
="LOG.DEBUG"
class
="org.apache.log4j.RollingFileAppender"
>
<
param
name
="File"
value
="debug.log"
/>
<
param
name
="MaxFileSize"
value
="5120KB"
/>
<
param
name
="MaxBackupIndex"
value
="10"
/>
<
layout
class
="org.apache.log4j.PatternLayout"
>
<
param
name
="ConversionPattern"
value
="%d{yyy-MM-dd HH:mm:ss} [%-5p] %c {%F:%L} - %m%n"
/>
</
layout
>
<
filter
class
="org.apache.log4j.varia.LevelRangeFilter"
>
<
param
name
="LevelMin"
value
="DEBUG"
/>
<
param
name
="LevelMax"
value
="DEBUG"
/>
</
filter
>
</
appender
>
<!--
将级别为INFO的信息输出到控制台-->
<
appender
name
="LOG.INFO"
class
="org.apache.log4j.RollingFileAppender"
>
<
param
name
="File"
value
="info.log"
/>
<
param
name
="MaxFileSize"
value
="5120KB"
/>
<
param
name
="MaxBackupIndex"
value
="10"
/>
<
layout
class
="org.apache.log4j.PatternLayout"
>
<
param
name
="ConversionPattern"
value
="%d{yyy-MM-dd HH:mm:ss} [%-5p] %c {%F:%L} - %m%n"
/>
</
layout
>
<
filter
class
="org.apache.log4j.varia.LevelRangeFilter"
>
<
param
name
="LevelMin"
value
="INFO"
/>
<
param
name
="LevelMax"
value
="INFO"
/>
</
filter
>
</
appender
>
<!--
将级别为WARN的信息输出到控制台-->
<
appender
name
="LOG.WARN"
class
="org.apache.log4j.RollingFileAppender"
>
<
param
name
="File"
value
="warn.log"
/>
<
param
name
="MaxFileSize"
value
="5120KB"
/>
<
param
name
="MaxBackupIndex"
value
="10"
/>
<
layout
class
="org.apache.log4j.PatternLayout"
>
<
param
name
="ConversionPattern"
value
="%d{yyy-MM-dd HH:mm:ss} [%-5p] %c {%F:%L} - %m%n"
/>
</
layout
>
<
filter
class
="org.apache.log4j.varia.LevelRangeFilter"
>
<
param
name
="LevelMin"
value
="WARN"
/>
<
param
name
="LevelMax"
value
="WARN"
/>
</
filter
>
</
appender
>
<!--
将级别为ERROR的信息输出到控制台-->
<
appender
name
="LOG.ERROR"
class
="org.apache.log4j.RollingFileAppender"
>
<
param
name
="File"
value
="error.log"
/>
<
param
name
="MaxFileSize"
value
="5120KB"
/>
<
param
name
="MaxBackupIndex"
value
="10"
/>
<
layout
class
="org.apache.log4j.PatternLayout"
>
<
param
name
="ConversionPattern"
value
="%d{yyy-MM-dd HH:mm:ss} [%-5p] %c {%F:%L} - %m%n"
/>
</
layout
>
<
filter
class
="org.apache.log4j.varia.LevelRangeFilter"
>
<
param
name
="LevelMin"
value
="ERROR"
/>
<
param
name
="LevelMax"
value
="ERROR"
/>
</
filter
>
</
appender
>
<!--
将级别为FATAL的信息输出到控制台-->
<
appender
name
="LOG.FATAL"
class
="org.apache.log4j.RollingFileAppender"
>
<
param
name
="File"
value
="fatal.log"
/>
<
param
name
="MaxFileSize"
value
="5120KB"
/>
<
param
name
="MaxBackupIndex"
value
="10"
/>
<
layout
class
="org.apache.log4j.PatternLayout"
>
<
param
name
="ConversionPattern"
value
="%d{yyy-MM-dd HH:mm:ss} [%-5p] %c {%F:%L} - %m%n"
/>
</
layout
>
<
filter
class
="org.apache.log4j.varia.LevelRangeFilter"
>
<
param
name
="LevelMin"
value
="FATAL"
/>
<
param
name
="LevelMax"
value
="FATAL"
/>
</
filter
>
</
appender
>
<!--
<appender name="InitAction" class="org.apache.log4j.DailyRollingFileAppender"> <param name="File" value="d:/dbcon.log"/> <param name="MaxFileSize" value="5120KB"/> <param name="MaxFileSize" value="10" /> <param name="MaxBackupIndex" value="2" /> <param name="DatePattern" value="'.'yyyy-MM-dd'.'log"/> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d{yyy-MM-dd HH:mm:ss} - %m%n"/> <param name="ConversionPattern" value="%d{DATE} [%-5p] %c {%F:%L} - %m%n"/> </layout> </appender> -->
<!--
设置org.logicalcobwebs包的输出级别为INFO-->
<!--
<category name="org.logicalcobwebs"> <priority value="INFO" /> <appender-ref ref="LOG.Console" /> </category> -->
<
root
>
<
priority
value
="DEBUG"
/>
<!--
<appender-ref ref="LOG.Console" /> -->
<
appender-ref
ref
="LOG.DEBUG"
/>
<
appender-ref
ref
="LOG.INFO"
/>
<
appender-ref
ref
="LOG.WARN"
/>
<
appender-ref
ref
="LOG.ERROR"
/>
<
appender-ref
ref
="LOG.FATAL"
/>
</
root
>
</
log4j:configuration
>
import junit.framework.Test;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
import org.apache.log4j.xml.DOMConfigurator;
public class Simpandfile
{
static Logger logger = Logger.getLogger(Test.class);
public static void main(String args[])
{
// 以property方式读到配置文件。
//PropertyConfigurator.configure("simple.properties");
DOMConfigurator.configure("xmllog4jconfig.xml");
logger.debug("Here is some DEBUG");
logger.info("Here is some INFO");
logger.warn("Here is some WARN");
logger.error("Here is some ERROR");
logger.fatal("Here is some FATAL");
}
}
|
| ============================================================================= 1、输出类的相对路径,而不是全部长度 <param name="ConversionPattern" value="%d [%X{requestURIWithQueryString}] %-5p %c{2} - %m%n" /> 2、ibatis输出sql
- log4j.rootLogger=debug,stdout
- log4j.appender.stdout=org.apache.log4j.ConsoleAppender
- log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
- log4j.appender.stdout.layout.conversionPattern=[%5p] %d{mm:ss}/(%F:%M:%L)%n%m%n%n
- log4j.logger.com.ibatis=debug
- log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=debug
- log4j.logger.com.ibatis.common.jdbc.ScriptRunner=debug
- log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=debug
- log4j.logger.java.sql.Connection=debug
- log4j.logger.java.sql.Statement=debug
- log4j.logger.java.sql.PreparedStatement=debug,stdout
|
本文转自 tianya23 51CTO博客,原文链接:http://blog.51cto.com/tianya23/588309,如需转载请自行联系原作者