log4j配置

ELK日志分析平台搭建

旧巷老猫 提交于 2019-12-21 04:01:30
ELK平台介绍 在搜索ELK资料的时候,发现这篇文章比较好,于是摘抄一小段: 以下内容来自: http://baidu.blog.51cto.com/71938/1676798 日志主要包括系统日志、应用程序日志和安全日志。系统运维和开发人员可以通过日志了解服务器软硬件信息、检查配置过程中的错误及错误发生的原因。经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误。 通常,日志被分散的储存不同的设备上。如果你管理数十上百台服务器,你还在使用依次登录每台机器的传统方法查阅日志。这样是不是感觉很繁琐和效率低下。当务之急我们使用集中化的日志管理,例如:开源的syslog,将所有服务器上的日志收集汇总。 集中化管理日志后,日志的统计和检索又成为一件比较麻烦的事情,一般我们使用grep、awk和wc等Linux命令能实现检索和统计,但是对于要求更高的查询、排序和统计等要求和庞大的机器数量依然使用这样的方法难免有点力不从心。 开源实时日志分析ELK平台能够完美的解决我们上述的问题,ELK由ElasticSearch、Logstash和Kiabana三个开源工具组成。官方网站: https://www.elastic.co/products Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口

log4j常见配置

隐身守侯 提交于 2019-12-20 17:27:14
依赖jar <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> Level :日志输出的几种级别 FATAL 0 ERROR 3 WARN 4 INFO 6 DEBUG 7 Appender 为日志输出目的地,Log4j提供的appender有以下几种: org.apache.log4j.ConsoleAppender(控制台) org.apache.log4j.FileAppender(文件) org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件) org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件) org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方) Layout :日志输出格式,Log4j提供的layout有以下几种: org.apache.log4j.HTMLLayout(以HTML表格形式布局), org.apache.log4j.PatternLayout(可以灵活地指定布局模式), org.apache.log4j

log4j 教程

有些话、适合烂在心里 提交于 2019-12-20 16:51:36
1. 下载jar包: http://logging.apache.org/log4j/1.2/download.html 结构如下: 2. 创建项目,记得导入包: 3.src同级创建并设置log4j.properties: properties部分组要考虑下面三个方面: Logger - 日志写出器,供程序员输出日志信息 Appender - 日志目的地,把格式化好的日志信息输出到指定的地方去 ConsoleAppender - 目的地为控制台的Appender FileAppender - 目的地为文件的Appender RollingFileAppender - 目的地为大小受限的文件的Appender Layout - 日志格式化器,用来把程序员的logging request格式化成字符串 PatternLayout - 用指定的pattern格式化logging request的Layout log4j.properties模板: 1 #配置根Logger 2 #定义总的级别和目的地,目的地是可以多个,级别是总的,当然也可以对每一个目的地进行单独设置输出级别。 3 log4j.rootLogger = [ level ] , appenderName1 , appenderName2 , … 4 5 #配置日志信息输出目的地Appender 6 log4j

log4j发送邮件

邮差的信 提交于 2019-12-20 16:34:15
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 前言:项目中log实在是太关键了,可以做大数据采集也可以监控系统的一些潜在的bug。重要性不明觉厉。 org.apache.log4j.Level类提供以下级别,但也可以通过Level类的子类自定义级别。 Level 描述 ALL 各级包括自定义级别 DEBUG 指定细粒度信息事件是最有用的应用程序调试 ERROR 错误事件可能仍然允许应用程序继续运行 FATAL 指定非常严重的错误事件,这可能导致应用程序中止 INFO 指定能够突出在粗粒度级别的应用程序运行情况的信息的消息 OFF 这是最高等级,为了关闭日志记录 TRACE 指定细粒度比DEBUG更低的信息事件 WARN 指定具有潜在危害的情况 maven依赖 <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.7</version> </dependency> <dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.5.0-b01</version> </dependency> 配置log4j

Log4j基本使用方法

戏子无情 提交于 2019-12-20 11:35:00
Log4j基本使用方法 作者:佚名 来自:未知   Log4j由三个重要的组件构成:日志信息的优先级,日志信息的输出目的地,日志信息的输出格式。日志信息的优先级从高到低有ERROR、WARN、INFO、DEBUG,分别用来指定这条日志信息的重要程度;日志信息的输出目的地指定了日志将打印到控制台还是文件中;而输出格式则控制了日志信息的显示内容。    一、定义配置文件   其实您也可以完全不使用配置文件,而是在代码中配置Log4j环境。但是,使用配置文件将使您的应用程序更加灵活。Log4j支持两种配置文件格式,一种是XML格式的文件,一种是Java特性文件(键=值)。下面我们介绍使用Java特性文件做为配置文件的方法:   1.配置根Logger,其语法为:   log4j.rootLogger = [ level ] , appenderName, appenderName, …   其中,level 是日志记录的优先级,分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者您定义的级别。Log4j建议只使用四个级别,优先级从高到低分别是ERROR、WARN、INFO、DEBUG。通过在这里定义的级别,您可以控制到应用程序中相应级别的日志信息的开关。比如在这里定义了INFO级别,则应用程序中所有DEBUG级别的日志信息将不被打印出来。

Java中的日志管理

流过昼夜 提交于 2019-12-20 09:27:00
日志是应用程序运行中不可缺少的一部分,JAVA中有很多已经成熟的方案,尽管记录日志是应用开发中并不可少的功能,在 JDK 的最初版本中并不包含日志记录相关的 API 和实现。相关的 API(java.util.logging 包,JUL)和实现,直到 JDK 1.4 才被加入。因此在日志记录这一个领域,社区贡献了很多开源的实现。其中比较流行的包括 log4j 及其后继者 logback。除了真正的日志记录实现之外,还有一类与日志记录相关的封装 API,如 Apache Commons Logging 和 SLF4J。这类库的作用是在日志记录实现的基础上提供一个封装的 API 层次,对日志记录 API 的使用者提供一个统一的接口,使得可以自由切换不同的日志记录实现。比如从 JDK 的默认日志记录实现 JUL 切换到 log4j。这类封装 API 库在框架的实现中比较常用,因为需要考虑到框架使用者的不同需求。在实际的项目开发中则使用得比较少,因为很少有项目会在开发中切换不同的日志记录实现。 日志的实现 JAVA 中都有 java.util.logging, log4j ,logback,log4j2 等日志实现。其中logback是log4j作者觉得log4j已经太烂不想再改了,重新写的一个实现。Log4j本来一统江湖好好的,后来被人说方法上太多同步修饰符,在高并发下性能太烂

Commons-logging + Log4j

∥☆過路亽.° 提交于 2019-12-19 23:36:00
一、Commons-logging能帮我们做什么? 1、提供一个统一的日志接口,简单了操作,同时避免项目与某个日志实现系统紧密耦合 2、自动选择适当的日志实现系统   a.classpath下查找commons-logging.properties   b.classpath下查找Log4j的包   c.使用JDK自身的日志实现类(注:JDK1.4以后才有日志实现类)   d.使用commons-logging自身日志实现类SimpleLog 3、它甚至不需要配置 Commons-logging 的Java类的代码: package com.nadim.framework.monitor; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; public class Run { private static final Log log = LogFactory.getLog(Run.class); public static void main(String[] args) { //输出4种不同级别的日志 log.debug("111"); log.info("222"); log.warn("333"); log.error("444"); } } jar包地址

关于java的日志框架

别来无恙 提交于 2019-12-19 04:55:33
   Log4j    Log4j是Apache的一个开放源代码项目,Spring Boot1.4以及之后的版本已经不支持log4j ,log4j也很久没有更新了,现在已经有很多其他的日志框架对Log4j进行了改良,比如说SLF4J、Logback等。 Log4j2   而且Log4j 2在各个方面都与Logback非常相似,那么为什么我们还需要Log4j 2呢 1. 插件式结构。Log4j 2支持插件式结构。我们可以根据自己的需要自行扩展Log4j 2. 我们可以实现自己的appender、logger、filter。   2. 配置文件优化。在配置文件中可以引用属性,还可以直接替代或传递到组件。而且支持json格式的配置文件。不像其他的日志框架,它在重新配置的时候不会丢失之前的日志文件。   3. Java 5的并发性。Log4j 2利用Java 5中的并发特性支持,尽可能地执行最低层次的加锁。解决了在log4j 1.x中存留的死锁的问题。   4. 异步logger。Log4j 2是基于LMAX Disruptor库的。在多线程的场景下,和已有的日志框架相比,异步的logger拥有10倍左右的效率提升。    官方建议一般程序员查看的日志改成异步方式,一些运营日志改成同步。日志异步输出的好处在于,使用单独的进程来执行日志打印的功能,可以提高日志执行效率

logback的使用和logback.xml详解,在Spring项目中使用log打印日志

孤街醉人 提交于 2019-12-19 03:21:33
logback的使用和logback.xml详解 一、logback的介绍   Logback是由log4j创始人设计的另一个开源日志组件,官方网站: http://logback.qos.ch。它当前分为下面下个模块:   logback-core:其它两个模块的基础模块   logback-classic:它是log4j的一个改良版本,同时它完整实现了slf4j API使你可以很方便地更换成其它日志系统如log4j或JDK14 Logging   logback-access:访问模块与Servlet容器集成提供通过Http来访问日志的功能 二、logback取代log4j的理由   1、更快的实现:Logback的内核重写了,在一些关键执行路径上性能提升10倍以上。而且logback不仅性能提升了,初始化内存加载也更小了。   2、非常充分的测试:Logback经过了几年,数不清小时的测试。Logback的测试完全不同级别的。   3、Logback-classic非常自然实现了SLF4j:Logback-classic实现了SLF4j。在使用SLF4j中,你都感觉不到logback-classic。而且因为logback-classic非常自然地实现了slf4j , 所 以切换到log4j或者其他,非常容易,只需要提供成另一个jar包就OK

Java 日志组件(二)

无人久伴 提交于 2019-12-18 06:35:13
3、log4j2   log4j2与log4j发生了很大变化,不兼容。log4j仅仅作为一个实际的日志框架,slf4j、commons-logging作为门面统一各种日志框架的混乱格局,现在log4j2也想跳出来当门面,也想统一大家。日志越来越乱了 log4j-api:作为日志接口层,用于统一底层日志系统。 log4j-core:作为上述日志接口的实现,是一个实际的日志框架。   3.1、maven依赖 1 <dependency> 2 <groupId>org.apache.logging.log4j</groupId> 3 <artifactId>log4j-api</artifactId> 4 <version>2.2</version> 5 </dependency> 6 <dependency> 7 <groupId>org.apache.logging.log4j</groupId> 8 <artifactId>log4j-core</artifactId> 9 <version>2.2</version> 10 </dependency>   3.2、使用方式 编写log4j2.xml配置文件(目前log4j2只支持xml、json、yuml,不再支持properties) 1 <?xml version="1.0" encoding="UTF-8"?> 2