log4j告警:log4j:warnnoappenderscouldbefoundforlogger(代码片段)

笑虾 笑虾     2022-10-22     416

关键词:

log4j 告警:log4j:WARN No appenders could be found for logger

可能原因

  1. 未添加 src/main/resources/log4j.properties 日志。
  2. 没放默认位置。

$log4j.logFileBasePath 是 pom.xml 中定义的环境变量。表示存log文件的根目录。

参考

log4j.rootLogger=ERROR,stdout,errorfile,infofile

# debug
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[%p] %-dyyyy-MM-dd HH:mm:ss [%t] [%l]--> %m %x %n
log4j.appender.stdout.Threshold=DEBUG

# error
log4j.appender.errorfile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.errorfile.layout=org.apache.log4j.PatternLayout
log4j.appender.errorfile.layout.ConversionPattern=[%p] %-dyyyy-MM-dd HH:mm:ss [%t] [%l]--> %m %x %n
log4j.appender.errorfile.Threshold=ERROR
log4j.appender.errorfile.encoding=UTF-8
log4j.appender.errorfile.File = $log4j.logFileBasePath/error_
log4j.appender.errorfile.DatePattern=yyyy-MM-dd'.log'

# info 
log4j.appender.infofile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.infofile.layout=org.apache.log4j.PatternLayout
log4j.appender.infofile.layout.ConversionPattern=[%p] %-dyyyy-MM-dd HH:mm:ss [%t] [%l]--> %m %x %n
log4j.appender.infofile.Threshold=INFO
log4j.appender.infofile.encoding=UTF-8
log4j.appender.infofile.File = $log4j.logFileBasePath/info_
log4j.appender.infofile.DatePattern=yyyy-MM-dd'.log'
log4j.appender.infofile.filter.F1=org.apache.log4j.varia.LevelRangeFilter
log4j.appender.infofile.filter.F1.LevelMin=INFO
log4j.appender.infofile.filter.F1.LevelMax=WARN

# 指定要输出日志的包
log4j.logger.org.springframework=DEBUG
log4j.logger.com.ibatis=DEBUG
log4j.logger.org.mybatis=DEBUG
  1. log4j.rootLogger=ERROR 表示只输出ERROR等级及更严重的日志(小问题别烦我)。
  2. stdout,errorfile,infofile:是定义了三个 Appender (按需求可以定义不同的输出行为,位置效果等)
  3. 指定使用何种 Appender 的写法:log4j.appender.上面定义的Appender名称=具体Appender类名
    3.1. org.apache.log4j.ConsoleAppender:默认向控制台输出日志。
    3.2. org.apache.log4j.DailyRollingFileAppender:按用户制定的策略滚动输出日志。
  4. org.apache.log4j.PatternLayout 继承自 org.apache.log4j.Layout,提供格式化日志的能力:
    4.1. ConversionPattern=[%p] %-dyyyy-MM-dd HH:mm:ss [%t] [%l]--> %m %x %n 设置格式化样式。
  5. log4j.appender.infofile.Threshold=INFO 覆盖 log4j.rootLogger=ERROR 根的设置将日志输出登记改为 INFO
  6. log4j.appender.errorfile.encoding=UTF-8:日志文件编码格式。
  7. log4j.appender.errorfile.File = $log4j.logFileBasePath/error_:日志文件位置。(我这里用到了占位符号)
  8. log4j.appender.errorfile.DatePattern=yyyy-MM-dd'.log':日志文件后缀。(不变的部分用引号引起来。)
  9. log4j.logger.org.mybatis=DEBUG:指定此包及以下的日志需要输出。可以加多个。

参数含义日志等级之类的说明可以看参考资料。

参考资料

Java 学习笔记 - 日志体系 SLF4J + Log4j2

日志监控告警系统的设计与实现(代码片段)

日志监控告警系统基于的日志进行监控,监控需要一定规则,对触发监控规则的日志信息进行告警,告警的方式,是短信和邮件。log4j---->error,info,debug应用程序程序的日志 error级别TimeOutException角标越界IndexXXXExce... 查看详情

log4j/log4j2/logback混用问题

...,原项目中的类则使用log4j打印日志,启动时,控制台有告警,可以获知详细信息,如:得知最终使用了log4j日志框架;pom.xml排除掉子模块中slf4j依赖的pom运行结果,全部使用了logback配置:或者如果projectA使用了 查看详情

告警管理

...DB系统与Prometheus连接,实现批量部署配置文件,批量管理告警信息等1.收到告警后,能通过页面针对不合理的阈值进行单个批量修改,在告警消息上能针对单个阈值进行修改。2.对应用进行分组,并针对该组制定告警规则。3.告警... 查看详情

七十告警系统主脚本告警系统配置文件告警系统监控项目

七十一、告警系统主脚本、告警系统配置文件、告警系统监控项目约定:所有的脚本放在/usr/local/sbin/下一、告警系统主脚本main.sh#cd /usr/local/sbin/#mkdirmon#cdmon#mkdirbinconfshareslogmail#cdbin#vimmain.sh#!/bin/bash#Writtenbyaming.#告警是否发送... 查看详情

如何做到告警的智能降噪?

为何要压缩告警?运维监控工具/平台,一般是通过配置固定阈值,达到阈值后自动触发/生成告警。如网络中断、闪断;系统升级更新;设备多监控内容多等情况下,更会产生海量告警。以下为告警管理常见问题:l故障期间,告... 查看详情

如何做到告警的智能降噪?

为何要压缩告警?运维监控工具/平台,一般是通过配置固定阈值,达到阈值后自动触发/生成告警。如网络中断、闪断;系统升级更新;设备多监控内容多等情况下,更会产生海量告警。以下为告警管理常见问题:l故障期间,告... 查看详情

.zabbix监控告警-邮件告警

待补充 查看详情

告警系统主脚本告警系统配置文件告警系统监控项目

告警系统主脚本1.定义shell项目-告警系统脚本main.sh[[email protected]~]#cd/usr/local/sbin/[[email protected]sbin]#mkdirmon[[email protected]sbin]#cdmon[[email protected]mon]#ls[[email protected] 查看详情

运维工程师如何做好告警分析与汇报?

智能告警平台(CloudAlert) CA,能快速接入各类告警信息,通过自动去重、规则压缩、算法降噪,实现告警降噪,帮助IT运维团队减少告警,避免告警风暴;同时通过分派、排班、通知等功能,快速实现告警流程化管理,帮助... 查看详情

(转载)应该对什么告警

告警的本质没有多少系统的告警是设计得当的。良好的告警设计是一项非常困难的工作。如何知道你收到的告警是糟糕的?多少次你收到了告警之后,立即就关掉了的?是不是成天被这些然而并没有什么卵用的东西给淹没?最常... 查看详情

20.20告警系统主脚本20.21告警系统配置文件20.22告警系统监控项目

20.20告警系统主脚本20.21告警系统配置文件20.22告警系统监控项目 查看详情

59.prometheusalert告警模板

...<fontcolor="info">[Prometheus恢复信息]</font>####告警名称:$v.labels.alertname######告警总结:$v.annotations.summary######告警级别:$v.labels.level######告警环境:$v.labels.env######告警业务版本:$v.labels.bizVersion######告警业务线:$v.labels.b... 查看详情

prometheus告警处理(代码片段)

在PrometheusServer中定义告警规则以及产生告警,Alertmanager组件则用于处理这些由Prometheus产生的告警。Alertmanager即Prometheus体系中告警的统一处理中心。Prometheus告警简介告警能力在Prometheus的架构中被划分成两个独立的部分。如下所... 查看详情

告警系统主脚本告警系统配置文件告警系统监控项目(代码片段)

十七周一次课(2月9日)20.20告警系统主脚本创建目录[[email protected]~]#cd/usr/local/sbin/#进入到/usr/local/sbin/目录下[[email protected]sbin]#mkdirmon#创建子目录[[email protected]sbin]#cdmon[[email protected]mon]# 查看详情

72.告警系统主脚本告警系统配置文件告警系统监控项目(代码片段)

cd/usr/local/sbinmkdirmoncdmonmkdirbinconfsharesmaillogcdbinvimmain.sh一、shell项目-告警系统main.sh?main.sh内容#!/bin/bash#Writtenbychinantfy.#是否发送邮件的开关exportsend=1#过滤ip地址exportaddr=`/sbin/ifconfig|grep-A1"ens3 查看详情

告警系统主脚本告警系统配置文件告警系统监控项目(代码片段)

一:告警系统主脚本main.sh内容#!/bin/bash#Writtenbyaming.#是否发送邮件的开关exportsend=1#过滤ip地址exportaddr=`/sbin/ifconfig|grep-A1"ens33:"|awk‘/inet/print$2‘`dir=`pwd`#只需要最后一级目录名last_dir=`echo$dir|awk-F‘/‘‘print$NF‘`#下 查看详情

告警系统主脚本,告警系统配置文件,告警系统监控项目(代码片段)

告警系统主脚本首先,我们朱脚本,将它放在/usr/local/sbin/下,以后我们的脚本都放到这个目录下面,方便查找。然后创建目录mon进入到mon创建子目录[[email protected]mon]#mkdirbinlogconfsharesmail我们的主脚本放到bin下建立主脚本main.s... 查看详情

运维告警管理——告警的灵活分派

当下IT运维人员的一大头疼事,便是复杂而凌乱的告警,无法将告警信息进行灵活分类,通知给不同的人,这样就加大了运维人员对告警信息的判断难度,进而无法快速的的定位到根因,也就无法快速的解决问题。睿象云智能告... 查看详情