- 浏览: 71192 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (76)
- Acitviti (5)
- mybatis (4)
- 大数据 (5)
- servlet (1)
- 负载均衡 (1)
- lucene5.X (3)
- mysql (3)
- 数据库 (2)
- Linux (3)
- Java (10)
- SSO (2)
- spring (3)
- layer (1)
- JAVA多线程 (12)
- 设计模式 (1)
- hadoop (6)
- hdfs (2)
- zookeeper (3)
- yarn (1)
- hive (4)
- sqoop (1)
- redis (1)
- GSON (1)
- velocity (1)
- git (1)
- logback (1)
- shell (9)
- IntellJ idea (1)
- JVM (2)
- maven (1)
最新评论
Commons_logging包 Apache通用日志包
他为Log4JLogger;NoOpLog;LogKitLogger;Jdk14Logger;AvalonLogger提供了一共通用的接口进行调用,使得在使用各种不同的第三方日志包时变得非常简单。SimpleLog:是commons_logging自带的一个控制台输出日志。
可以通过简单的配置使用不同的第三方日志包。
在src根目录下放进commons-logging.properties文件,进行配置使用哪个第三方日志包。
#定义了使用的具体第三方的日值包
#org.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger #org.apache.commons.logging.Log=org.apache.commons.logging.impl.NoOpLog #org.apache.commons.logging.Log=org.apache.commons.logging.impl.LogKitLogger #org.apache.commons.logging.Log=org.apache.commons.logging.impl.Jdk14Logger #org.apache.commons.logging.Log=org.apache.commons.logging.impl.AvalonLogger
程序中调用:
import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; public static Log log = LogFactory.getLog(test.class); log.error("成功关闭链接");
在commons_logging.properties文件中定义好了使用那个第三方日志包,在程序中打印日志时,就使用的是那个包,非常方便。
Log 日志包
引用
log4j.appender.consoleAppender=org.apache.log4j.ConsoleAppender
log4j.appender.logfile=org.apache.log4j.DailyRollingFileAppender
ConsoleAppender,控制台输出
FileAppender,文件日志输出
SMTPAppender,发邮件输出日志
SocketAppender,Socket日志
NTEventLogAppender,Window NT日志
SyslogAppender,
JMSAppender,
AsyncAppender,
NullAppender
log4j.appender.logfile=org.apache.log4j.DailyRollingFileAppender
ConsoleAppender,控制台输出
FileAppender,文件日志输出
SMTPAppender,发邮件输出日志
SocketAppender,Socket日志
NTEventLogAppender,Window NT日志
SyslogAppender,
JMSAppender,
AsyncAppender,
NullAppender
文件输出:RollingFileAppender
log4j.rootLogger=INFO,logfile log4j.appender.logfile=org.apache.log4j.RollingFileAppender log4j.appender.logfile.Threshold=INFO //输出以上的INFO信息 log4j.appender.logfile.File=../logs/INFO_log //保存log文件路径 log4j.appender.logfile.Append=true //默认为true,添加到末尾,false在每次启动时进行覆盖 log4j.appender.logfile.MaxFileSize=10KB //一个log文件的大小,超过这个大小就又会生成1个日志 //KB ,MB,GB log4j.appender.logfile.MaxBackupIndex=3 //最多保存3个文件备份 log4j.appender.logfile.layout=org.apache.log4j.HTMLLayout //输出文件的格式 log4j.appender.logfile.layout.LocationInfo=true #是否显示类名和行数 log4j.appender.logfile.layout.Title=页面title #html页面的<title> ############################## SampleLayout #################################### # log4j.appender.logfile.layout=org.apache.log4j.SampleLayout ############################## PatternLayout ################################### # log4j.appender.logfile.layout=org.apache.log4j.PatternLayout # log4j.appender.logfile.layout.ConversionPattern=%d%p[%c]-%m%n%d ############################## XMLLayout ####################################### # log4j.appender.logfile.layout=org.apache.log4j.XMLLayout # log4j.appender.logfile.layout.LocationInfo=true #是否显示类名和行数 ############################## TTCCLayout ###################################### # log4j.appender.logfile.layout=org.apache.log4j.TTCCLayout # log4j.appender.logfile.layout.DateFormat=ISO8601 #NULL, RELATIVE, ABSOLUTE, DATE or ISO8601. # log4j.appender.logfile.layout.TimeZoneID=GMT-8:00 # log4j.appender.logfile.layout.CategoryPrefixing=false ##默认为true 打印类别名 # log4j.appender.logfile.layout.ContextPrinting=false ##默认为true 打印上下文信息 # log4j.appender.logfile.layout.ThreadPrinting=false ##默认为true 打印线程名
# 打印信息如下:
2007-09-13 14:45:39,765 [http-8080-1] ERROR com.poxool.test.test - error成功关闭链接
###############################################################################
每天文件的输出:DailyRollingFileAppender
log4j.rootLogger=INFO,errorlogfile log4j.appender.errorlogfile=org.apache.log4j.DailyRollingFileAppender log4j.appender.errorlogfile.Threshold=ERROR log4j.appender.errorlogfile.File=../logs/ERROR_log log4j.appender.errorlogfile.Append=true #默认为true,添加到末尾,false在每次启动时进行覆盖 log4j.appender.errorlogfile.ImmediateFlush=true #直接输出,不进行缓存 #'.'yyyy-MM: 每个月更新一个log日志 #'.'yyyy-ww: 每个星期更新一个log日志 #'.'yyyy-MM-dd: 每天更新一个log日志 #'.'yyyy-MM-dd-a: 每天的午夜和正午更新一个log日志 #'.'yyyy-MM-dd-HH: 每小时更新一个log日志 #'.'yyyy-MM-dd-HH-mm: 每分钟更新一个log日志 log4j.appender.errorlogfile.DatePattern='.'yyyy-MM-dd'.log' #文件名称的格式 log4j.appender.errorlogfile.layout=org.apache.log4j.PatternLayout log4j.appender.errorlogfile.layout.ConversionPattern=%d%p[%c]-%m%n%d
控制台输出:
log4j.rootLogger=INFO,consoleAppender log4j.appender.consoleAppender=org.apache.log4j.ConsoleAppender log4j.appender.consoleAppender.Threshold=ERROR log4j.appender.consoleAppender.layout=org.apache.log4j.PatternLayout log4j.appender.consoleAppender.layout.ConversionPattern=%d%-5p%m%n log4j.appender.consoleAppender.ImmediateFlush=true //直接输出,不进行缓存 log4j.appender.consoleAppender.Target=System.err //默认是System.out方式输出
!-----------------------------------------------------------------------------! ! PATTERN FORMATS GLOSSARY ! !-----------------------------------------------------------------------------! ! %n – 新的一行 ! ! %m – 打印错误信息 ! ! %p – 打印优先级信息 (FATAL, ERROR, WARN, INFO, DEBUG or custom) ! ! %r – 打印程序开始后过去的毫秒数 ! ! %% - 打印输出的百分比 ! ! ! !-----------------------SOME MORE CLUTTER IN YOUR LOG-------------------------! ! %c - name of your category (logger), %c{2} will outputs last two components ! ! %t – 打印产生该日志信息的线程名称 ! ! %x – 打印嵌套的上下文信息 ! ! ! !-------------------------SLOW PERFORMANCE FORMATS----------------------------! ! %d – 打印时间和日期, 比如 %d{ISO8601}, %d{DATE}, %d{ABSOLUTE}, ! ! %d{HH:mm:ss,SSS}, %d{dd MMM yyyy HH:mm:ss,SSS} 等等 ! ! %l - Shortcut for %F%L%C%M ! ! %F - Java 代码文件名称 ! ! %L - Java 代码错误的行数 ! ! %C - Java 类的名称, %C{1} 将输出以“.”分割的后面一个 ! ! %M - Java 方法的名称 ! ! ! !------------------------------FORMAT MODIFIERS-------------------------------! ! %-any_letter_above - Left-justify in min. width (default is right-justify) ! ! %20any_letter_above - 20 char. min. width (pad with spaces if reqd.) ! ! %.30any_letter_above - 30 char. max. width (truncate beginning if reqd.) ! ! %-10.10r - Example. Left-justify time elapsed within 10-wide field. ! ! Truncate from beginning if wider than 10 characters. ! !-----------------------------------------------------------------------------!
发送邮件:SMTPAppender
log4j.rootLogger=INFO,MAIL log4j.appender.MAIL=org.apache.log4j.net.SMTPAppender log4j.appender.MAIL.Threshold=DEBUG log4j.appender.MAIL.BufferSize=10KB log4j.appender.MAIL.From= log4j.appender.MAIL.SMTPHost= log4j.appender.MAIL.Subject=Log4JMessage log4j.appender.MAIL.To=yuyongpeng@myce.net.cn log4j.appender.MAIL.layout=org.apache.log4j.PatternLayout log4j.appender.MAIL.layout.ConversionPattern=%d-%c-%-4r[%t]%-5p%c%x-%m%n
数据库:JDBCAppender
log4j.appender.DATABASE=org.apache.log4j.jdbc.JDBCAppender log4j.appender.DATABASE.URL=jdbc:oracle:thin:@210.51.173.94:1521:YDB log4j.appender.DATABASE.driver=oracle.jdbc.driver.OracleDriver log4j.appender.DATABASE.user=ydbuser log4j.appender.DATABASE.password=ydbuser log4j.appender.DATABASE.sql=INSERTINTOA1(TITLE3)VALUES('%d-%c%-5p%c%x-%m%n') log4j.appender.DATABASE.layout=org.apache.log4j.PatternLayout log4j.appender.DATABASE.layout.ConversionPattern=%d-%c-%-4r[%t]%-5p%c%x-%m%n
//数据库的链接会有问题,可以重写org.apache.log4j.jdbc.JDBCAppender的getConnection使用数据库链接池去得链接,可以避免insert一条就链接一次数据库。()
发表评论
-
FastJson添加mark隐藏字符
2017-09-05 16:46 1077我们要做的是一个基于日志打印时候需要对敏感信息进行加密。简单的 ... -
Java编译调试之常用命令 之jmap
2017-08-30 10:03 745jmap命令 ps -ef| grep java root ... -
Java编译之常用命令 -javap
2017-08-30 09:50 511javap定义 javap是 Java class文件分解器, ... -
性能调优篇 1.0
2017-08-17 09:10 314刻意追求,性能不佳 同事写了一段牛逼的代码我以为这个是为了提升 ... -
googel代码系列之GSON
2016-12-01 09:27 669一般使用Gson我们一般会用在序列化toJson()和反序列化 ... -
【状态模式】基于状态更新后多消息通知
2016-04-12 10:14 514定义对象间的一种多对多的的依赖关系,当一个对象的状态发生改变时 ... -
Activiti Modeler引入web项目
2016-03-19 21:10 2498在使用Activiti Modeler时候先从Activiti ... -
递归求解集合
2016-01-26 16:35 516字符串翻转 /** * 将字符串翻转 * ... -
JDK8新特性
2016-01-18 18:22 497特性1 /** * 接口的默 ...
相关推荐
3. **MDC(Mapped Diagnostic Context)和NDC(Nested Diagnostic Context)**:用于存储与当前线程相关的上下文信息,方便在日志中添加额外的诊断信息。 4. **Lookups(查找机制)**:允许在配置文件中使用变量,...
本文将详细介绍如何在Java中使用Log4j来记录日志,并将其写入数据库。 首先,我们需要了解Log4j的基本结构。一个简单的Log4j项目通常包含以下几个部分: 1. **配置文件**:Log4j的配置文件通常是`log4j.properties...
利用java代码实现 生成批量log日志文件
3. **Layout**: 定义日志格式,如`appender.stdout.layout.type=PatternLayout`,`appender.stdout.layout.pattern=%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n`,这个例子中使用了自定义的日期、线程、...
通过`LogDemo`程序,我们可以了解到在Java中使用`log4j`和`commons-logging`进行日志记录的基本方法,这对于调试、问题排查和性能分析都是至关重要的。在实际开发中,可以根据项目需求调整配置,实现更精细化的日志...
这篇文档主要讨论了如何在Java Swing应用中使用`Logger`来生成和管理错误日志。 `Logger`是Java的日志记录工具,它提供了多种级别(如SEVERE, WARNING, INFO, CONFIG, FINE, FINER, FINEST)来区分不同严重程度的...
在Java代码中使用Log4j非常简单,首先要获取一个Logger实例,然后通过调用相应级别的方法输出日志。例如: ```java import org.apache.log4j.Logger; public class MyClass { private static final Logger logger...
简单方便的日志功能, 创建log文件, 自动以当前日期命名, log打印到文件, 自动添加时间戳。
常规的做法是,修改项目中每一处调用到“log4j”相关模块的代码。如果是项目比较大,所要花费的工作量也真不少,但如果使用了上面的方式,则只需要实现“LoggerAdapter”接口,使之与具体的日志(logger)进行适配,...
本示例将详细介绍如何在Java项目中使用Log4j进行日志打印。 首先,Log4j的核心组件包括配置文件(通常为`log4j.properties`或`log4j.xml`)、Logger、Appender和Layout。配置文件定义了日志信息的输出方式、目的地...
通过在Java项目中集成Graylog,可以有效地管理和分析日志数据,提高系统的可维护性和可观测性。同时,通过与Vue.js的集成,可以实现前后端分离的现代Web应用开发。 通过本文的介绍,希望你能对Graylog在Java中的...
假设已经正确配置了log4j.properties文件,接下来是如何在Java代码中使用Log4j。 1. **获取Logger对象**:通过Logger类的静态方法`getLogger`获取对应的Logger对象。 ```java import org.apache.log4j.Logger; ...
在Java开发过程中,日志记录是一项至关重要的任务,它帮助开发者追踪程序运行状态,定位问题。Log4j是一个广泛使用的日志记录框架,而Apache Kafka则是一个分布式流处理平台,常用于实时数据传输。当我们需要将Log4j...
anylog 为开发人员提供一个易于使用的平台,帮助开发人员在正在运行的系统中随时加入自己想要的日志,而免于修改代码和重启。 使用场景举例 1、一些同学在写代码时,把异常吃掉了,使得问题难以查找,可以...
在Java开发过程中,为了实现日志管理,我们通常会使用如log4j2这样的日志框架。Log4j2是一个强大的、灵活的日志系统,它提供了丰富的配置选项和高性能的日志记录能力。当我们的应用程序需要将日志信息存储在数据库中...
Java工程中使用Log4j详解 Log4j是Apache提供的一个流行的日志记录工具,广泛应用于Java工程中。它可以帮助开发者记录程序的执行过程,方便BUG的追踪和程序的优化。在Java工程中使用Log4j可以提高程序的可读性和可...
本文将深入探讨如何在Swing应用中使用Java自带的日志系统(logging API)以及如何自定义Swing界面的皮肤。 一、Java自带日志(logging API)的使用 Java内置的日志API提供了一种灵活且可配置的方式来记录应用程序...
在Eclipse中使用Log4j,需要在项目的类路径中包含Log4j的jar文件,并创建一个配置文件(通常是log4j.properties或log4j.xml)。配置文件定义了Loggers、Appenders和Layouts,以及它们之间的关联。例如,你可以设置一...
现在,我们可以在Java代码中使用Log4j。例如,有一个名为`SLF4JDemo.java`的文件,我们可以这样引入并使用Log4j: ```java import org.apache.log4j.Logger; public class SLF4JDemo { private static final ...
Linux 中 Java log 输出中文乱码解决方案 Linux 中 Java log 输出中文乱码问题是 Java 应用程序在 Linux 环境下一个常见的问题。该问题的产生是由于 Linux 系统的 locale 设置不正确导致的。locale 是 Linux 系统中...