JAVA程序开发,经常用到日志输出,在一个所谓的软件公司里大多会有自己一套配置风格,读取配置文件再对日志属性进行初始化,这样固然好,但有时可能并不需要小题大做,然log4j这个包一定会经常用到,以下就是一个简单应用。
前题,下载一个log4j的包,本人用log4j-1.2.9.jar。
新建一个java项目,内容如下,根据实际需要改本地的包名和类名。
java 代码
java 代码
-
-
-
-
-
-
-
-
-
-
-
- package app;
- import java.io.FileInputStream;
- import java.util.Properties;
- import org.apache.log4j.Logger;
- import org.apache.log4j.PropertyConfigurator;
-
-
- public class logjTest {
- public static final Logger logger = Logger.getLogger(logjTest.class);
- public static void main(String args[])throws Exception{
- String configFile = "log4j.properties";
- PropertyConfigurator.configure(configFile);
- logger.info("测试log4j之包的使用!");
- Properties perties = new Properties();
- FileInputStream fis = new FileInputStream(configFile);
- perties.load(fis);
- String str=perties.getProperty("log4j.rootLogger");
- logger.info("测试获取key值,如log4j.rootLogger="+str);
- }
- }
属性文件名:log4j.properties,内容:
java 代码
- ### direct log messages to stdout ###
- log4j.appender.stdout=org.apache.log4j.ConsoleAppender
- #log4j.appender.stdout.Target=System.out
- log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
- #log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
- #%d{ABSOLUTE} %5p %c{1}:%L - %m%n
- log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
-
-
- ### direct messages to file hibernate.log ###
- #log4j.appender.file=org.apache.log4j.FileAppender
- #log4j.appender.file.File=hibernate.log
- #log4j.appender.file.layout=org.apache.log4j.PatternLayout
- #log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
-
- ### set log levels - for more verbose logging change 'info' to 'debug' ###
-
- log4j.rootLogger=debug,R,stdout
- #####log4j.logger.net.sf.hibernate=info
-
- ####????
- log4j.appender.R=org.apache.log4j.RollingFileAppender
- log4j.appender.R.File=logs/logtest.log
- log4j.appender.R.MaxFileSize=1000KB
- log4j.appender.R.MaxBackupIndex=5
- log4j.appender.R.layout=org.apache.log4j.PatternLayout
- log4j.appender.stdout.layout.ConversionPattern=%d [%p] %c -%m%n
- #log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
- log4j.appender.R.layout.ConversionPattern=[%-d{yyyy-MM-dd HH:mm:ss}] %p %t %c - %m%n
-
-
-
- ### log just the SQL
- #log4j.logger.net.sf.hibernate.SQL=debug
-
- ### log JDBC bind parameters ###
- log4j.logger.net.sf.hibernate.type=info
-
- ### log schema export/update ###
- log4j.logger.net.sf.hibernate.tool.hbm2ddl=debug
-
- ### log cache activity ###
- #log4j.logger.net.sf.hibernate.cache=debug
-
- ### enable the following line if you want to track down connection ###
- ### leakages when using DriverManagerConnectionProvider ###
- #log4j.logger.net.sf.hibernate.connection.DriverManagerConnectionProvider=trace
-
- #log4j.appender.SOCKET=org.apache.log4j.RollingFileAppender
- #log4j.appender.SOCKET.RemoteHost=localhost
- #log4j.appender.SOCKET.Port=5001
- #log4j.appender.SOCKET.LocationInfo=true
- # Set up for Log Facter 5
- #log4j.appender.SOCKET.layout=org.apache.log4j.PatternLayout
- #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
log4j.properties中几处值得关注。
<1>:log4j.appender.R.File=logs/logtest.log
日志输出路径及命名,以下为相对路径法,根据实际情况改之。
<2>:log4j.appender.R.MaxFileSize=1000KB
每个日志文件大小。
<3>:log4j.appender.R.MaxBackupIndex=5
每生成多少个日志滚动,会生成一些logtest.log1, logtest.log2,但不会有logtest.log6,如果配置成10,不会有logtest.log11。
<3>:log4j.appender.R.layout.ConversionPattern=[%-d{yyyy-MM-dd HH:mm:ss}] %p %t %c - %m%n
日志输出时日期的风格之类的,通常我不改,其它还有一些属性设置,网上有很多文章介绍,此处以高效,简洁,共享为宗旨,相信该文值得再次参考。
分享到:
相关推荐
Java日志库Log4j是Java开发者非常熟悉的工具,它为应用程序提供了强大的日志记录功能。Log4j是由Apache软件基金会开发的一个开源项目,广泛应用于各种Java应用中,包括大型企业级系统、Web应用程序和小型服务。这个...
Log4j,作为Java领域广泛使用的日志记录框架,一直以来都是开发者们的重要工具。这次我们关注的是其最新版本——logging-log4j2-log4j-2.15.0-rc2。这个版本在安全性和性能上都做了进一步的优化和提升,旨在为开发者...
它源于Log4j的JNDI(Java Naming and Directory Interface)查找功能,当恶意用户在日志记录中插入特定的字符串时,可以触发远程代码执行。这个漏洞影响了全球范围内的大量系统,因为许多应用和服务都在使用Log4j...
总之,Spring Boot Starter Log4j2使得在Spring Boot项目中集成和使用Log4j2变得简单易行。通过合理配置,我们可以实现灵活的日志管理,满足各种开发场景的需求。在实际开发中,掌握Log4j2的配置和使用,能帮助我们...
标题中的“log4jdbc-log4j2配置简记”指的是在Java开发中使用log4jdbc-log4j2库来监控和记录SQL查询的过程。log4jdbc是一个开源项目,它允许开发者通过日志系统来追踪数据库操作,而log4j2是log4j的升级版,提供了更...
Apache Log4j是Java平台上的一个著名日志记录框架,广泛应用于各种企业级软件系统中。这个"apache-log4j-2.17.0-bin.tar.gz"文件是一个压缩包,其中包含了Log4j 2.17.0版本的二进制文件,通常包括可执行的JAR文件和...
Apache Log4j作为一个广泛应用的日志记录框架,为Java开发者提供了强大的日志处理能力。最近发布的"logging-log4j2-log4j-2.15.0-rc2.7z"是对Log4j的补丁版本,主要针对已知的安全问题和功能改进进行了更新,旨在...
Apache Log4j2是一款广泛使用的Java日志框架,它允许应用程序记录各种运行时信息,以帮助开发者调试问题、监控系统性能以及追踪安全事件。然而,2021年底,一个严重漏洞被发现,被称为“Log4Shell”或CVE-2021-44228...
Log4j,作为Apache开源组织的一个杰出项目,长期以来一直是Java应用程序首选的日志框架之一。然而,随着技术的发展,安全问题也日益凸显,Log4j 2.15.1-RC1的发布,正是针对此类问题进行的一次关键更新,旨在修复...
开发者可以通过下载这个zip文件,解压后获取到ant-apache-log4j-1.6.5.jar文件,该文件是一个Java Archive (JAR) 文件,包含了Ant和Log4j的类库,可以直接在Java项目中引用以实现构建和日志记录功能。 4. **依赖包*...
Log4j是一个广泛应用于Java环境的日志框架,而当我们谈论`android-logging-log4j-1.0.3.jar`时,它便是Log4j的一个版本,专门针对Android平台进行优化,使得在Android系统中可以方便地将日志信息写入SD卡。...
Log4j 是 Apache 组织开发的一个广泛使用的Java日志框架,它允许开发者在应用程序中实现灵活的日志记录。此次发布的binaries版本包含了编译后的二进制文件,适用于那些不希望从源码编译但需要快速部署和更新Log4j的...
Log4j2作为Java日志框架的一员,提供丰富的日志级别(如DEBUG、INFO、WARN、ERROR等)和多种输出格式,满足不同场景的需求。 2. **Log4j2的特性**: - **性能提升**:Log4j2通过使用异步日志记录和零内存分配技术...
**log4j**:Log4j是Apache组织开发的一个开源日志框架,广泛应用于各种Java项目中。它提供了丰富的日志级别(如DEBUG, INFO, WARN, ERROR, FATAL)和灵活的日志配置,允许我们将日志输出到控制台、文件、数据库等...
Apache Log4j 是一个广泛使用的Java日志框架,它的最新版本是2.15.0。这个框架的主要目的是提供一种灵活、高效的日志记录机制,帮助开发者在应用程序中记录、控制和调试信息。Apache官网提供的"apache-log4j-2.15.0-...
总的来说,SLF4J-log4j12-1.7.7.jar在Java日志处理中扮演着关键角色,它提供了方便的日志框架切换能力和与Log4j1.2的集成,使得开发者可以灵活地管理和控制应用程序的日志输出。然而,随着技术的发展,考虑升级到更...
Log4j,作为Java平台上的一个著名日志框架,因其高效、灵活的特点而广受欢迎。然而,任何软件都可能存在潜在的安全风险,Log4j也不例外。这次我们要讨论的是Log4j 2.15.0-rc1版本,这是一个针对严重安全漏洞的修复...
Apache Log4j 是一个广泛使用的Java日志框架,它提供了灵活的日志记录功能,使得开发者可以在应用程序中方便地控制日志信息的输出。在给定的压缩包中,包含两个核心文件:`log4j-1.2.15.jar` 和 `apache-log4j-...
Apache Log4j 2.3 和 Commons Logging 1.2 是两个在Java Web开发中广泛使用的日志处理库。这两个库对于记录应用程序的运行时信息、调试错误和监控系统状态至关重要。 **Apache Log4j 2.3** Log4j 是 Apache 组织...
SLF4J(Simple Logging Facade for Java)和Log4j是Java开发中常见的日志处理框架。SLF4J提供了一个抽象层,允许开发者在运行时选择合适的日志实现,比如Log4j、Logback等。这个"slf4j-log4j12.jar"文件就是SLF4J与...