log4j2.xmllog4j-api-2.5.jarlog4j-core-2.5.jar

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE xml>

<Configuration status="WARN">

<Appenders>

<Console name="Console" target="SYSTEM_OUT">

<PatternLayout pattern="%d{YYYY-MM-dd HH:mm:ss} [%t] %-5level %logger{36} - %msg%n"/>

</Console>

<File name="log" fileName="logs.log" append="false">

<PatternLayout pattern="%d{YYYY-MM-dd HH:mm:ss.SSS} %-5level %class{36} %L %M - %msg%xEx%n"/>

</File>

</Appenders>

<Loggers>

<Logger name="com.dbyl.libarary.utils.Log" level="all">

<AppenderRef ref="Console"/>

<AppenderRef ref="log"/>

</Logger>

<Root level="trace">

<AppenderRef ref="Console"/>

<AppenderRef ref="log"/>

</Root>

</Loggers>

</Configuration>

@WebServlet(urlPatterns = "/HomeServlet",asyncSupported=true)

public class HomeServlet extends HttpServlet {

private static final long serialVersionUID = 1L;

private static final Logger LOGGER = LogManager.getLogger(HomeServlet.class);

public static void main(String[] args) {

LOGGER.info("--------------info------------------"+HomeServlet.class);

}

public void testLog() {

LOGGER.trace("Trace Message!");

LOGGER.debug("Debug Message!");

LOGGER.info("Info Message!");

LOGGER.warn("Warn Message!");

LOGGER.error("Error Message!");

LOGGER.fatal("Fatal Message!");

LOGGER.info("--------------info------------------"+HomeServlet.class.getName());

LOGGER.info("--------------info------------------"+HomeServlet.class);

LOGGER.debug("------------debug--------------------");

LOGGER.fatal("---------------fatal-----------------");

LOGGER.info("--------------------------------");

getLogger(Bar.class.getName())

getLogger(MyAPP.class) //官方推荐的写法

getLogger("HomeServlet")

getLogger()

public class MyService {

// instead of Logger logger = LogManager.getLogger(MyService.class):

private static final ExtLogger logger = ExtLogger.create(MyService.class);

public void demoExtendedLogger() {

// ...

logger.trace("the built-in TRACE level");

logger.verbose("a custom level: a VERBOSE message");

logger.debug("the built-in DEBUG level");

logger.notice("a custom level: a NOTICE message");

logger.info("the built-in INFO level");

logger.diag("a custom level: a DIAG message");

logger.warn("the built-in WARN level");

logger.error("the built-in ERROR level");

logger.fatal("the built-in FATAL level");

logger.notice("java 8 lambda expression only executed if NOTICE is enabled: {}", () -> someMethod());

// ...

}

...

}

最新文章

  1. kafkaspot在ack机制下如何保证内存不溢
  2. SQL Server中Rowcount与@@Rowcount的用法
  3. HDU 1131 Count the Trees 大数计算
  4. Android Studio 开发环境设置
  5. NGUI 学习笔记实战——制作商城UI界面
  6. ArcGIS Engine开发之旅07---文件地理数据库、个人地理数据库和 ArcSDE 地理数据库中的栅格存储加以比较 、打开栅格数据
  7. 深入浅出Java垃圾回收机制
  8. 设置AFNetworking网络请求的超时时间
  9. 实现3D摄像机缓冲系统的一些思考
  10. oracle安装分析
  11. mybatis generator自动生成 实体类, sqlmap配置文件 详细介绍
  12. mac+eclipse+svn+maven经验总结(转)
  13. [CSS3] CSS :target Selector
  14. [Angular 2] Using ng-for to repeat template elements
  15. Android OpenGL ES 应用(二) 纹理
  16. 1.1 mysql安装
  17. 一种基于主板BIOS的身份认证方案及实现
  18. Azure Machine Learning
  19. wxpython多线程间通信
  20. Spring mybatis源码篇章-MapperScannerConfigurer关联dao接口

热门文章

  1. Chapter 2 Open Book——36
  2. C#基础1:Console类
  3. linux ll命令参数的详解
  4. Topself 方便调试的Window服务框架
  5. (repost)在ARM Linux内核中增加一个新的系统调用
  6. Linux 虚拟机性能监控
  7. java 枚举类型和数据二进制等问题思考
  8. bower工具的简单使用
  9. 使用MyBatis3时 selectOne 方法返回null的问题记录
  10. HDU 5860 Death Sequence