Linux系统中的Log4j配置
Log4j简介
Log4j是一个开源的Java日志记录框架,它允许用户以灵活和高效的方式记录日志信息,在Linux系统中,Log4j常用于记录应用程序的运行状态、错误信息等,对于系统维护和故障排查具有重要意义。
Log4j配置文件
Log4j的配置文件为log4j.properties或log4j.xml,本文以log4j.properties为例进行说明。
日志级别
log4j.rootLogger=INFO, stdout, file
rootLogger定义了日志的输出级别,这里设置为INFO,表示输出INFO级别及以上的日志,stdout和file表示将日志输出到控制台和文件。
日志格式
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L – %m%n
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=logs/app.log
log4j.appender.file.MaxFileSize=10MB
log4j.appender.file.MaxBackupIndex=5
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L – %m%n
(1) 日志输出到控制台
consoleAppender表示将日志输出到控制台,PatternLayout定义了日志的输出格式,ConversionPattern表示具体的格式内容。
(2) 日志输出到文件
fileAppender表示将日志输出到文件,RollingFileAppender用于滚动日志文件,MaxFileSize表示单个日志文件的最大大小,MaxBackupIndex表示保留的备份文件数量。
日志级别过滤
log4j.logger.com.example=DEBUG
log4j.logger.org.apache=INFO
通过log4j.logger可以设置特定包的日志级别,com.example包的日志级别为DEBUG,org.apache包的日志级别为INFO。
Log4j配置示例
以下是一个简单的Log4j配置示例:
# 设置日志级别log4j.rootLogger=INFO, stdout, file# 日志输出到控制台log4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.layout=org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n# 日志输出到文件log4j.appender.file=org.apache.log4j.RollingFileAppenderlog4j.appender.file.File=logs/app.loglog4j.appender.file.MaxFileSize=10MBlog4j.appender.file.MaxBackupIndex=5log4j.appender.file.layout=org.apache.log4j.PatternLayoutlog4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n# 设置特定包的日志级别log4j.logger.com.example=DEBUGlog4j.logger.org.apache=INFO
如何修改Log4j的日志级别?
答:在log4j.properties或log4j.xml文件中,找到log4j.rootLogger配置项,将其值修改为所需的日志级别,
log4j.rootLogger=DEBUG, stdout, file
如何将日志输出到多个文件?
答:在log4j.properties或log4j.xml文件中,为每个文件创建一个Appender,
# 第一个文件log4j.appender.file1=org.apache.log4j.RollingFileAppenderlog4j.appender.file1.File=logs/file1.loglog4j.appender.file1.MaxFileSize=10MBlog4j.appender.file1.MaxBackupIndex=5log4j.appender.file1.layout=org.apache.log4j.PatternLayoutlog4j.appender.file1.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n# 第二个文件log4j.appender.file2=org.apache.log4j.RollingFileAppenderlog4j.appender.file2.File=logs/file2.loglog4j.appender.file2.MaxFileSize=10MBlog4j.appender.file2.MaxBackupIndex=5log4j.appender.file2.layout=org.apache.log4j.PatternLayoutlog4j.appender.file2.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n# 设置rootLogger使用多个Appenderlog4j.rootLogger=INFO, file1, file2
mysql数据库查询好慢怎么解决
28万条数据量不是很大,字段稍微有点多,如果不加WHERE 条件的话,数据库判定是查询所有数据库,而加了WHERE 条件时,数据库判定要去详细的查找某个数据,所以速度自然会慢,建立索引可以解决您的问题;CREATE INDEX 索引名 ON 表名 (WHERE 条件用到的列名,如有多个就以逗号分隔);这次在去WHERE 的时候就会快很多
网吧的驱动防火墙有什么办法能破解吗?
一、 双击电脑右下角那个驱动防火墙的图标,打开驱动防火墙界面。 二、 调整输入法为智能ABC,点击防火墙界面准备打字。 三、 一直打V字,显示到不能再打出为止。 如:VVVVVVVVVVVVVVVVVVVVVV。 四、 按住键盘上的方向键←,你仔细发现在VVVVVVVVVVVVVVVVVVV界面有个浅 兰色光标移到ⅠVVVVVVVVVVVVVVVVVVVV前面。 五、按删除键 DELETE 删除VVVVVVVVVVVVVVVVVVV字,这时候的你的驱动 防火墙就被解除了。
log4j记录日志的特征是什么?
日志分级基于纯文本()的日志的API第一和首要的优点就是能在不受阻碍的输出一些日志信息的同时,屏蔽另外一些日志信息的输出。 这种能力使得日志空间(存储所有日志的空间)是按照开发者决定的方式分门别类的。 这就使得我们将分类作为中心概念来考虑。 然而,自从log4j的1.2版本以来,Logger类替代了Category类。 对于那些熟悉log4j早期版本的人来说,可以将Logger类仅仅作为Category类的一个别名来处理。 日志是命名了的实体。 日志的名字区分大小写并遵循以下的分级命名规则:分级命名一个日志的名字如果加上一个点是另外一个日志名字的前缀的话,则称此日志为另一个日志的祖先,另一个日志称为其后代。 如果一个日志在它和它的另一个后代日志之间没有其他的祖先,则称此日志为其后代日志的父日志,其后代日志称为此日志的子日志。 例如,命名为“”的日志是命名为“”的日志的父日志。 类似的,“java”是“”的父日志,是“”的祖先。 这种命名规则对于许多开发者来说应该是很熟悉的。 根日志在日志级别的顶点,它在两个方面有所不同:1. 它总是存在的;2. 它不能用名字得到。 调用静态方法来得到根日志。 其他所有日志都通过方法来初始化和获得,这个方法使用需要的日志的名字作为参数。














发表评论