JAVA 日志埋点

本文总结了JAVA日志埋点的步骤,包括删除旧的log jar包,导入新的unslog jar,配置unslog.properties文件,以及如何进行日志打印。日志规则ID作为业务埋点的唯一标识,用于后台统计分析。实践部分详细介绍了如何在项目中集成unslog,配置日志输出,并特别提醒了在Linux服务器上的注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

 JAVA 日志埋点使用总结:

环境:jdk1.7、tomcat7、win10、maven 3.2.5

 

一、  删除应用中所有的log jar包

二、  导入unslog jar包

  

<dependency>
     <groupId>com.uns.inf</groupId>
     <artifactId>unslog</artifactId>
     <version>1.0.0</version>
</dependency>

 

三、  在resource目录下追加unslog.properties(可选)

内容如下:

#项目名称(工程化项目自动获取,无需修改)
app_name=${projectName}
#日志级别
#log_level=info
#日志存放天数
#maxHistory=30
#业务埋点是否输出( true输出 false关闭 默认是关闭)
#bizlog=true
#控制台日志关闭 (true 打印 false关闭 默认是关闭)
#console=false

 

日志文件存放路径(在unslog.jar包中写死的路径):

windos在d://logs/应用名称/日期/日志文件

linux在 在/opt/ci/logs/应用名称/日期/日志文件

 

四、  日志打印实例

// 一般日志打印

    logger.info("test start");

 

// 日志规则ID(可统一编排)
     longbzId = 10000;
     // 创建日志对象
     UnsLogInfo uli = new UnsLogInfo(bzId);
     // 设置日志信息
     uli.put("userid", 12434);
     uli.put("userName", "name001");
     uli.put("startDt", new Date());
     // 打印业务日志
     logger.info(uli.toString());

 // 一般日志打印

 

     logger.info("test end");

五、  说明

日志规则ID:是业务埋点的唯一标示,不同的业务埋点不同,可以根据需要统一编制。

后台进行业务统计分析时重要的标示(日志规则ID对应后台的报警规则ID一个或多个,监控平台并进行统计分析)

 

注:如果日志采用slf4j的都可以灰度替换,其他的需要自己修改下LoggerFactory的获取方式(也是很简单的)

 

 

六、实践

1.导入unslog.jar包,在pom.xml文件中加入如下代码:

 

<dependency>
     <groupId>com.uns.inf</groupId>
     <artifactId>unslog</artifactId>
     <version>1.0.0</version>
</dependency>

2. 使用slf4j的Logger,因为它可以在log4j和logback之间随意切换,根据你使用的logjar包,代码如下:

 

 

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public final Logger log = LoggerFactory.getLogger(getClass());

 3.编写一个日志埋点的公用方法,代码如下:

 

 

/**
	 * 日志埋点
	 * @param curtran
	 * @param flag 1:成功,0:失败;bzId 日志规则ID
	 * @return
	 */
	public static String monitoring(Long bzId, Curtran curtran,String flag) {
	    // 创建日志对象
	    UnsLogInfo uli = new UnsLogInfo(bzId);
	    // 设置日志信息
	    if (Constant.TRUE.equals(flag)) {
	    	uli.setSuccess(1);
		} else {
			uli.setFailure(1);
		}
	    if (curtran != null) {
	    	uli.put("merchantId", curtran.getMerchantid());
	    	uli.put("terminalid", curtran.getTerminalid());
	    	uli.put("orderId", curtran.getTrannumber());
	    	uli.put("cardNo", curtran.getCard());
	    	uli.put("amount", curtran.getAmount());
		}
	    return uli.toString();
	}

 4.项目中应用,代码如下:

 

 

// 日志埋点
log.info("Monitoring unspay start");
// 打印业务日志
log.info(Common.monitoring(20005L, curtran, Constant.TRUE));
log.info("Monitoring unspay end");

 

 

 5.如果是WEB项目,想将控制台的日志输出在catalina.out文件中,则需要新建一个配置文件unslog.properties

在文件中添加如下内容:

#项目名称(工程化项目自动获取,无需修改)  
app_name=${projectName}
#日志级别  
#log_level=info  
#日志存放天数  
#maxHistory=30  
#业务埋点是否输出( true输出 false关闭 默认是关闭)  
bizlog=true
#控制台日志关闭 (true 打印 false关闭 默认是关闭)  
console=true

6.如果部署到Linux服务器,需要确认服务器上,是否有预先建立目录/opt/ci/logs 目录

 

7.注意要点:本次日志埋点使用的是logback,作为日志输出

 

8.JAR包下载(见附件) 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值