【养成记4】log4j-1.2.17华为鲲鹏云最佳实践方案

举报
tuoxinquyu 发表于 2019/12/11 16:13:16 2019/12/11
【摘要】 Log4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件,甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。

一、 软件介绍

Log4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件,甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。

二、 支持的操作系统

经过华为云严格实测,以下操作系统在鲲鹏生态中可以完整运行Varnish的全部功能:

     CentOS7.6

三、 支持版本和获取方式

https://logging.apache.org/log4j/2.x/log4j-1.2-api/index.html

四、 编译与测试环境

本文选用华为鲲鹏云服务器ECS KC1实例做测试,KC1实例的处理器为兼容ARMv8指令集的鲲鹏920。详细规格如下:

类别

子项

版本

云主机配置

ECS实例类型

kc1.large.4

ECS配置

4U16GB

EVS

高IO(80GB)

云OS

Kernel

4.18.0

 

五、 编译安装与测试

依赖安装

Java 环境。

编译安装

1) maven依赖

<dependency>

    <groupId>log4j</groupId>

    <artifactId>log4j</artifactId>

<version>1.2.17</version>

</dependency>

 

2) log4j配置:

src/main/resource目录下新建log4j.properties

# DEBUG < INFO < WARN < ERROR < FATAL

log4j.rootLogger=WARN, Console, RollingFile, Error

 

#Console

log4j.appender.Console=org.apache.log4j.ConsoleAppender

# 控制台日志输出级别,默认为DEBUG

log4j.appender.Console.Threshold=DEBUG

log4j.appender.Console.layout=org.apache.log4j.PatternLayout

log4j.appender.Console.layout.ConversionPattern=%d %-5p [%c] - %m%n

 

#RollingFile

log4j.appender.RollingFile=org.apache.log4j.DailyRollingFileAppender

log4j.appender.RollingFile.layout=org.apache.log4j.PatternLayout

log4j.appender.RollingFile.layout.ConversionPattern=%d %-5p [%c] - %m%n

log4j.appender.RollingFile.Threshold=DEBUG

log4j.appender.RollingFile.append=true

log4j.appender.RollingFile.File=/opt/logs/kong.log

 

### set log levels ###  

log4j.logger.Error=ERROR

log4j.appender.Error=org.apache.log4j.DailyRollingFileAppender

log4j.appender.Error.layout=org.apache.log4j.PatternLayout   

log4j.appender.Error.layout.ConversionPattern=%d %-5p [%c] - %m%n

log4j.appender.Error.DatePattern='.'yyyy-MM-dd

log4j.appender.Error.Threshold=ERROR   

log4j.appender.Error.append=true

log4j.appender.Error.File=/opt/logs/kong.log

 

#Project mybatis level

log4j.logger.com.isoftstone=DEBUG

log4j.logger.org.apache.ibatis=DEBUG

 

# SqlMap logging configuration.

log4j.logger.com.ibatis=DEBUG

log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=DEBUG

log4j.logger.com.ibatis.common.jdbc.ScriptRunner=DEBUG

log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=DEBUG

log4j.logger.java.sql=DEBUG

log4j.logger.java.sql.Connection=DEBUG

log4j.logger.java.sql.Statement=DEBUG

log4j.logger.java.sql.PreparedStatement=DEBUG

log4j.logger.java.sql.ResultSet=WARN

 

3) 调用代码:

import org.apache.log4j.Logger;

public class TestLog {

    private static Logger logger = Logger.getLogger(TestLog.class);

    public static void main(String[] args) {

        logger.debug(" This is debug!!!");

        logger.info(" This is info!!!");

        logger.warn(" This is warn!!!");

        logger.error(" This is error!!!");

        logger.fatal(" This is fatal!!!");

    }

}

验证测试

1) 启动项目

cd /opt/

java -jar ismart-kong-0.0.1-SNAPSHOT.jar

2) 启动完成如下:

image.png 

3) 日志文件。启动完成后会生成日志文件,再/opt/logs目录下的kong.log文件

cat /opt/logs/kong.log

image.png 

 

问题总结


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。