log4j配置

log4j日志pattern配置

匿名 (未验证) 提交于 2019-12-03 00:40:02
c category的名称,可使用{n}限制输出的精度。例如:logger名为"a.b.c",%c{2}将输出"b.c"。 C 产生log事件的java完全限定类名。可使用{n}限制输出的精度。例如:“org.apache.xyz.SomeClass”,%C{2}将输出“SomeClass”。 d 时间和日期的输出格式,例如:%d{yyyy MM dd HH:mm:ss,SS},可不带后面的日期格式字符。 F 产生log事件的java源文件名,带“.java”后缀及包名称。 l log发生位置的详细描述,包括方法名、文件名及行号。 L log发生在源文件中的位置。 m log事件的消息内容。 M log发生时所在的方法名称。 n 根据所运行的平台输出相应的行分隔字符。 p log事件的级别。 r 自程序运行至log事件产生所经过的时间。 t 产生log的线程名称。 例子: %d{HH:mm:ss.SSS} [%t] %-5level %logger{80} - %msg%n %d{yyyy-MM-dd HH:mm:ss,SSS} %t %-4r %p %F[%L]: %m%n 2018-07-07 22:36:23,646 main 926 DEBUG XmlHandler.java[22]: 开始解析xml文档 原文:https://www.cnblogs.com/sagech

Spark 日志错误信息分析及解决方案:log4j、SLF4j

匿名 (未验证) 提交于 2019-12-03 00:39:02
Spark 日志错误信息 异常信息:( 解决了好久的问题 ) 1、log4j错误类「 org.apache.log4j.Appender 」被加载,「 org.apache.log4j.ConsoleAppender 」不能分配给「 org.apache.log4j.Appender 」,导致sparkContext初始化失败 log4j:ERROR A "org.apache.log4j.ConsoleAppender" object is not assignable to a "org.apache.log4j.Appender" variable. log4j:ERROR The class "org.apache.log4j.Appender" was loaded by log4j:ERROR [sun.misc.Launcher$AppClassLoader@55f96302] whereas object of type log4j:ERROR "org.apache.log4j.ConsoleAppender" was loaded by [org.apache.spark.util.ChildFirstURLClassLoader@687080dc]. log4j:ERROR Could not instantiate appender named

Log4j for C++ 实用指南

匿名 (未验证) 提交于 2019-12-03 00:36:02
日志是一个优秀系统不可或缺的组成部分,利用它我们可以记录系统中所产生的所有行为。 对于很多人来说,日志的作用仅限于调试。其实不然,它在很多方面都非常有用: 日志是最好的的诊断工具 日志让我们有机会检测模块的瓶颈 日志有助于我们了解用户行为 …… 在编写代码时,使用日志框架是一种很好的实践。即使像《代码整洁之道》这样的书籍,也建议学习像 Log4j 这样的框架进行日志记录。 本达人课将主要围绕 Log4Qt,探索 C++ 中的 Log4j 技术。通过分享的知识,读者可以快速了解 Log4j 内部工作机制,并能熟练使用其各个衍生品 - Log4cpp、log4cplus、log4cxx、Log4Qt。 凡是购买了课程的童鞋,请私聊我,有专门的 C++ 框架群,大家一起交流。 | 版权声明:一去、二三里,未经博主允许不得转载。 以下是课程的具体内容,以及示例源码: 课程地址 ״̬ 源码 《第 01 课:C++ 日志框架》 《第 02 课:Log4Qt 基本介绍》 《第 03 课:获取 Log4Qt 中的 Logger》 《第 04 课:深入理解 rootLogger、logLogger、qtLogger》 《第 05 课:使用环境变量配置 Log4Qt》 撰写中… 《第 06 课:使用 QSettings 配置 Log4Qt》 撰写中… 《第 07 课:使用 log4qt

关于log4j的相关组件介绍

匿名 (未验证) 提交于 2019-12-03 00:27:02
Log4J的三个组件: Logger:日志记录器,负责收集处理日志记录 (如何处理日志) Appender:日志输出目的地,负责日志的输出 (输出到什么 地方) Layout:日志格式化,负责对输出的日志格式化(以什么形式展现) 类结构图 一个logger可以对应多个appender,一个appender只能对应一个layout。 1、Logger: logger可以有选择的启动和禁用日志的输出,我们经常会在各种框架中看到如: private static final Logger log = LoggerFactory.getLogger(XX.class); log就代表了一个Logger实例,他的name就是类“XX”的full quailied name(类的全限定名),按照上图所述,这个log就可以指定多个appender和layout。Logger的名字大小写敏感,其命名有继承机制:例如:name为org.apache.commons的logger会继承name为org.apache的logger。 Log4J中有一个特殊的logger叫做“root”,他是所有logger的根,也就意味着其他所有的logger都会直接或者间接地继承自root。root logger可以用Logger.getRootLogger()方法获取,但是不能通过Logger.getLogger(

log4j记录日志到数据库

匿名 (未验证) 提交于 2019-12-03 00:27:02
一、数据库表 CREATE TABLE `admin_sys_log` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `uid` bigint(20) DEFAULT NULL COMMENT '操作者id', `username` varchar(255) DEFAULT '' COMMENT '操作者用户名', `client_ip` char(16) DEFAULT NULL COMMENT '操作者ip', `operate_module` varchar(255) DEFAULT '' COMMENT '类名,比如:AdminUserController', `operate_module_name` varchar(255) DEFAULT '' COMMENT '自定义内容,比如:用户登录', `operate_type` varchar(255) DEFAULT '' COMMENT '方法名', `operate_time` varchar(255) DEFAULT '' COMMENT '操作时间', `operate_content` varchar(255) DEFAULT '' COMMENT '操作内容', `operate_result` varchar(255) DEFAULT '' COMMENT '操作结果

Log4j与Log4j2日志记录详解

匿名 (未验证) 提交于 2019-12-03 00:22:01
一个完整的项目里,日志是必不可少的,也是很重要的一部分。程序从开发,测试,维护,运行等环节,都需要向控制台等位置输出大量的信息,如果程序出了问题,那么这些信息能快速反映出问题的所在,帮助我们定位到问题。而且这些信息的输出,在很多时候是使用 System.out.println() 无法完成的,而且使用 System.out.println() 这是IO操作,这会拖慢系统的效率。 日志信息根据用途与记录内容的不同,可以分为调试日志,运行日志,异常日志等。 Log4j 全称为Log for java ,也就是专门用来记录java语言的日志记录工具。目前有两个版本,Log4j与Log4j2。 Log4j的下载地址: http://logging.apache.org/log4j/1.2/download.html Log4j2的下载地址: http://logging.apache.org/log4j/2.x/download.html ,下载是下载的是后缀为bin.zip,然后再解压即可。 使用上面的包的话,直接将下载的依赖包复制粘贴到项目的lib目录下,add to build path就可以了。 如果是使用Maven管理依赖的话,需要添加下面的依赖: <!-- 日志文件管理包 --> < dependency > < groupId > log4j </ groupId > <

log4j格式输出

匿名 (未验证) 提交于 2019-12-03 00:13:02
转载链接 参数 说明 例子 %c 列出logger名字空间的全称,如果加上{<层数>}表示列出从最内层算起的指定层数的名字空间 log4j配置文件参数举例 输出显示媒介 假设当前logger名字空间是"a.b.c" %c a.b.c %c{2} b.c %20c (若名字空间长度小于20,则左边用空格填充) %-20c (若名字空间长度小于20,则右边用空格填充) %.30c (若名字空间长度超过30,截去多余字符) %20.30c (若名字空间长度小于20,则左边用空格填充;若名字空间长度超过30,截去多余字符) %-20.30c (若名字空间长度小于20,则右边用空格填充;若名字空间长度超过30,截去多余字符) %C 列出调用logger的类的全名(包含包路径) 假设当前类是"org.apache.xyz.SomeClass" %C org.apache.xyz.SomeClass %C{1} SomeClass %d 显示日志记录时间,{<日期格式>}使用ISO8601定义的日期格式 %d{yyyy/MM/dd HH:mm:ss,SSS} 2005/10/12 22:23:30,117 %d{ABSOLUTE} 22:23:30,117 %d{DATE} 12 Oct 2005 22:23:30,117 %d{ISO8601} 2005-10-12 22:23:30,117

Log4j2日志配置详解(2)

匿名 (未验证) 提交于 2019-12-03 00:08:02
Log4j2日志配置系列之2 在应用程序代码中插入日志请求需要相当多的计划和工作。观察显示,大约4%的代码用于日志记录。因此,即使是中等大小的应用程序也会在其代码中嵌入数千条日志语句。考虑到日志语句的数量,管理这些日志语句而不需要手动修改它们就变得非常必要。 log4j 2的配置可以通过以下4种方式之一完成: 1.通过xml、json、yaml或properties格式编写的配置文件。 2.以编程方式,通过创建配置工厂和配置实现。 3.以编程方式,通过调用配置接口中公开的api将组件添加到默认配置中。 4.以编程方式,通过调用内部记录器类上的方法。 本页主要关注通过配置文件配置log4j。有关以编程方式配置log4j的信息可以在扩展log4j 2和编程log4j配置中找到。 注意,与log4j 1.x不同,公共log4j 2 api不公开以任何方式添加、修改或删除追加器和过滤器或操作配置的方法 。 1.Automatic Configuration log4j能够在初始化期间自动配置自己。当log4j启动时,它将定位所有的ConfigurationFactory插件,并按从高到低的加权顺序排列它们。在交付时,log4j包含四个ConfigurationFactory实现:一个用于json,一个用于yaml,一个用于properties,一个用于xml。 1.log4j将检查

maven项目整合SSM配置log4j, 实现控制台打印SQL语句

匿名 (未验证) 提交于 2019-12-02 23:59:01
在原有项目正常启动的情况下, 实现在控制台打印mapper包下SQL语句. 1.在pom.xml配置文件中添加两个依赖(缺一不可) 1 <!--日志包--> 2 <dependency> 3 <groupId>log4j</groupId> 4 <artifactId>log4j</artifactId> 5 <version>${log4j-version}</version> 6 </dependency> 7 8 <dependency> 9 <groupId>org.slf4j</groupId> 10 <artifactId>slf4j-log4j12</artifactId> 11 <version>${slf4j-version}</version> 12 </dependency> 版本: 1 <log4j-version>1.2.17</log4j-version> 2 <slf4j-version>1.7.25</slf4j-version> 2. 在log4j.properties配置文件中添加配置 1 log4j.logger.com.zzuli.mapper=DEBUG 完整的log4j.properties 1 log4j.rootCategory=ERROR, CONSOLE ,LOGFILE 2 3 log4j.logger.com.zzuli

log4j配置文件

匿名 (未验证) 提交于 2019-12-02 23:43:01
介绍 在编写大型项目时,日志输出是极其重要的一部分。而在Java项目中,常用的日志则是log4j和slf4j的组合。 log4j Log For Java,Apache的一个开源项目,可以灵活地记录日志信息,我们可以通过log4j的配置文件灵活配置日志的记录格式、记录级别、输出格式,而不需要修改已有的日志记录代码。 官方网站: http://logging.apache.org/log4j/1.2/ slf4j 简单日志门面(Simple Logging Facade for Java),不是具体的日志解决方案,它只服务于各种各样的日志系统。按照官方的说法,slf4j是一个用于日志系统的简单Facade,允许最终用户在部署其应用时使用其所希望的日志系统。 在使用slf4j的时候,不需要在代码中或配置文件中指定你打算使用那个具体的日志系统,slf4j提供了统一的记录日志的接口,只要按照其提供的方法记录即可,最终日志的格式、记录级别、输出方式等通过具体日志系统的配置来实现,因此可以在应用中灵活切换日志系统。 官方网站: http://www.slf4j.org/ 使用 引入Maven依赖 < dependency > < groupId > log4j </ groupId > < artifactId > log4j </ artifactId > < version > 1.2