我们在使用Log4j的时候,总是出现:

  1. log4j:WARN No appenders could be found for logger (org.apache.ibatis.logging.LogFactory).
  2. log4j:WARN Please initialize the log4j system properly.

这个问题是因为我们的log4j.properties文件配置不够完整,所以我们给它配置齐了就不会再出现这个问题。 
log4j.properties不完整配置如下:

  1. log4j.rootLogger=DEBUG, stdout
  2. log4j.appender.stdout=org.apache.log4j.ConsoleAppender
  3. log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
  4. log4j.appender.stdout.layout.ConversionPattern=%c{1} - %m%n
  5. log4j.logger.java.sql.PreparedStatement=DEBUG

完整配置如下:

  1. log4j.rootLogger=CONSOLE,FILE
  2. log4j.addivity.org.apache=true
  3. # 应用于控制台
  4. log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
  5. log4j.appender.CONSOLE.Threshold=INFO
  6. log4j.appender.CONSOLE.Target=System.out
  7. log4j.appender.CONSOLE.Encoding=GBK
  8. log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
  9. log4j.appender.CONSOLE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n
  10. # 每天新建日志
  11. log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender
  12. log4j.appender.A1.File=C:/log4j/log
  13. log4j.appender.A1.Encoding=GBK
  14. log4j.appender.A1.Threshold=DEBUG
  15. log4j.appender.A1.DatePattern='.'yyyy-MM-dd
  16. log4j.appender.A1.layout=org.apache.log4j.PatternLayout
  17. log4j.appender.A1.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L : %m%n
  18. #应用于文件
  19. log4j.appender.FILE=org.apache.log4j.FileAppender
  20. log4j.appender.FILE.File=C:/log4j/file.log
  21. log4j.appender.FILE.Append=false
  22. log4j.appender.FILE.Encoding=GBK
  23. log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
  24. log4j.appender.FILE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n
  25. # 应用于文件回滚
  26. log4j.appender.ROLLING_FILE=org.apache.log4j.RollingFileAppender
  27. log4j.appender.ROLLING_FILE.Threshold=ERROR
  28. log4j.appender.ROLLING_FILE.File=rolling.log
  29. log4j.appender.ROLLING_FILE.Append=true
  30. log4j.appender.CONSOLE_FILE.Encoding=GBK
  31. log4j.appender.ROLLING_FILE.MaxFileSize=10KB
  32. log4j.appender.ROLLING_FILE.MaxBackupIndex=1
  33. log4j.appender.ROLLING_FILE.layout=org.apache.log4j.PatternLayout
  34. log4j.appender.ROLLING_FILE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n
  35. #自定义Appender
  36. log4j.appender.im = net.cybercorlin.util.logger.appender.IMAppender
  37. log4j.appender.im.host = mail.cybercorlin.net
  38. log4j.appender.im.username = username
  39. log4j.appender.im.password = password
  40. log4j.appender.im.recipient = yyflyons@163.com
  41. log4j.appender.im.layout=org.apache.log4j.PatternLayout
  42. log4j.appender.im.layout.ConversionPattern =[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n
  43. #应用于socket
  44. log4j.appender.SOCKET=org.apache.log4j.RollingFileAppender
  45. log4j.appender.SOCKET.RemoteHost=localhost
  46. log4j.appender.SOCKET.Port=5001
  47. log4j.appender.SOCKET.LocationInfo=true
  48. # Set up for Log Facter 5
  49. log4j.appender.SOCKET.layout=org.apache.log4j.PatternLayout
  50. log4j.appender.SOCET.layout.ConversionPattern=[start]%d{DATE}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[THREAD]%n%c[CATEGORY]%n%m[MESSAGE]%n%n
  51. # Log Factor 5 Appender
  52. log4j.appender.LF5_APPENDER=org.apache.log4j.lf5.LF5Appender
  53. log4j.appender.LF5_APPENDER.MaxNumberOfRecords=2000
  54. # 发送日志给邮件
  55. log4j.appender.MAIL=org.apache.log4j.net.SMTPAppender
  56. log4j.appender.MAIL.Threshold=FATAL
  57. log4j.appender.MAIL.BufferSize=10
  58. log4j.appender.MAIL.From=yyflyons@163.com
  59. log4j.appender.MAIL.SMTPHost=www.wusetu.com
  60. log4j.appender.MAIL.Subject=Log4J Message
  61. log4j.appender.MAIL.To=yyflyons@126.com
  62. log4j.appender.MAIL.layout=org.apache.log4j.PatternLayout
  63. log4j.appender.MAIL.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n

再次运行你的程序,你会发现Log4j的警告消失了。不过发现以前的Log4j控制台信息也没有了,其实只要把上面详细配置的log4j.rootLogger=CONSOLE,FILE改为log4j.rootLogger=DEBUG,CONSOLE,FILE,你就发现,控制台信息又回来了。

    1. log4j.rootLogger=CONSOLE,FILE
    2. #log4j.rootLogger=DEBUG,CONSOLE,FILE
    3. log4j.addivity.org.apache=true

log4j:WARN No appenders could be found for logger 解决方案的更多相关文章

  1. (转)log4j:WARN No appenders could be found for logger 解决方案

    我们在使用Log4j的时候,总是出现: log4j:WARN No appenders could be found for logger (org.apache.ibatis.logging.Log ...

  2. log4j:WARN No appenders could be found for logger

    直接写我的解决办法: 在src下面新建file名为log4j.properties内容如下:# Configure logging for testing: optionally with log f ...

  3. 解决log4j:WARN No appenders could be found for logger (org.springframework.web.context.ContextLoader)警告信息的问题

    spring项目经常在启动tomcat时报如下警告信息: log4j:WARN No appenders could be found for logger (org.springframework. ...

  4. maven:log4j:WARN No appenders could be found for logger (loggerInfo).或者maven build error:org.apache.maven.lifecycle.LifecycleExecutionExceptio

    maven在build构建时,加载资源文件时需要配置资源文件插件: 1,在pom.xml文件中加入 <build> <finalName>${project.build.tar ...

  5. 关于控制台输出 警告 log4j:WARN No appenders could be found for logger

    新建struts2项目时出现警告 log4j:WARN No appenders could be found for logger 于是上网搜查了解决方案 转自:最爱NBA 在src下面新建file ...

  6. log4j:WARN No appenders could be found for logger (org.apache.hadoop.metrics2.lib.MutableMetricsFactory). log4j:WARN Please initialize the log4j system properly. log4j:WARN See http://logging.apache.o

    上面的报错是在本地java调试(windows) hadoop集群 出现的 解决方案: 在resources文件夹下面创建一个文件log4j.properties(这个其实hadoop安装目录下的 e ...

  7. log4j:WARN No appenders could be found for logger (org.springframework.web.context.ContextLoader).

    一.异常描述: log4j:WARN No appenders could be found for logger (org.springframework.web.context.ContextLo ...

  8. log4j:WARN No appenders could be found for logger 解决办法

    转自:https://blog.csdn.net/chw0629/article/details/80567936 使用log4j时不起作用,每次执行完出现以下提示: log4j:WARN No ap ...

  9. log4j:WARN No appenders could be found for logger (org.springframework.core.env.StandardEnvironment)的解决

    报错:log4j:WARN No appenders could be found for logger (org.springframework.core.env.StandardEnvironme ...

随机推荐

  1. ubuntu如何安装或更换内核

    内核是一个系统的灵魂,系统在启动的时候,就是基于相关的内核启动该系统的.我们怎么样更改ubuntu系统的内核并运行它呢? ubuntu18.04LTS 互联网安装内核. 安装内核的步骤非常简单,我们可 ...

  2. (笔记)一场由SD卡引发的灾难

    一场由SD卡引发的灾难   注:此文章转自“https://user.qzone.qq.com/63915185/blog/1512562541”.   Flash里面的数据在使用过程中莫名改变或不翼 ...

  3. 框架源码系列六:Spring源码学习之Spring IOC源码学习

    Spring 源码学习过程: 一.搞明白IOC能做什么,是怎么做的  1. 搞明白IOC能做什么? IOC是用为用户创建.管理实例对象的.用户需要实例对象时只需要向IOC容器获取就行了,不用自己去创建 ...

  4. 推荐一本写给IT项目经理的好书

    原文地址:http://www.cnblogs.com/cbook/archive/2011/01/19/1939060.html (防止原文作者删除.只能拷贝一份了) 推荐一本写给IT项目经理的好书 ...

  5. 提高MySQL数据库的安全性

    1. 更改默认端口(默认3306) 可以从一定程度上防止端口扫描工具的扫描 2. 删除掉test数据库 drop database test; 3. 密码改的复杂些 # 1 set password ...

  6. git使用git-credential-winstore保存https访问密码

    使用 https 方式 clone 一个 git 仓库,每次pull 或者 push 的时候都需要输入用户名和密码. 访问远程Git仓库可以用 SSH 方式和 https 方式,https 每次访问时 ...

  7. LeetCode - 703. Kth Largest Element in a Stream

    Design a class to find the kth largest element in a stream. Note that it is the kth largest element ...

  8. Let's Encrypt泛域名SSL证书申请

    操作系统:CentOS 7 github:https://github.com/Neilpang/acme.sh 有中文说明: https://github.com/Neilpang/acme.sh ...

  9. python __get__ & __set__

    目的:  提供类似java中的getter/setter的东西. (getter/setter的目的: 将属性方法化,使得属性的引用变得简单---尤其将来属性的读取/赋值有比较复杂的逻辑) 官方简明文 ...

  10. 用dx生成dex时遇到class name does not match path

    前言 用dx生成dex时遇到class name (Hello) does not match path这个问题还弄了挺久,这里就简单的记录一下. 步骤 首先是dx工具是在Android的SDK里面的 ...