# 日志实现
trace日志使用log4j方式配置记录,一般通过框架记录;
操作(或者审计)日志,记在数据库中,一般service中记录非查询类操作。
trace日志:Logger logger = TraceLoggerFactory.getLogger(ClassA.class);
操作日志:IOperationLogger operationLogger = OperationLoggerFactory.getLogger(ServiceA.class);
日志查看:
trace日志查看:调试日志菜单,com.primeton.devops.common.MethodLoggerController
操作日志查看:操作日志菜单,IOperationLogController
# trace 日志文件说明
日志文件 | 说明 |
---|---|
devops.log | 记录devops的trace日志 |
contribution.log | 记录eos构件包的日志,目前一般为空 |
custom.log | 客户定制记录的日志文件,默认也是空。 使用日志记录:com.primeton.devops.common.logger.TraceLoggerFactory.getCustomLogger() |
engine.log | 流水线引擎记录的日志 |
eos.log | eos的trace日志 |
http-client.log | 使用HttpClient的trace日志,默认是关闭的,可以通过易逝性日志配置 |
integration.log | 集成模块记录的trace日志 |
monitor.log | 监控器记录的trace日志 |
reliable-thread-execute.log | 可靠线程执行记录的trace日志 |
report.log | 报表统计记录的trace日志 |
sql-details.log | sql详细日志(包含参数信息),默认是关闭的,可以通过易逝性日志配置 |
sql.log | sql日志,默认是超过5秒执行sql的记录,可以通过易逝性日志配置 |
timeout.log | 超过5秒执行的服务,会被记录 |
timer.log | 定时任务调度时记录的trace日志 |
unlogin.log | 没有登录的trace日志 |
dump-thread | 线程dump |
rest-api | 整个系统resteasy发布的rest接口 |
system | 系统属性信息 |
.run | eos的.run文件信息 |
tomcatlog | tomcat控制台日志 |
volatile-log-config | 易逝性日志配置信息 |
exec-sql | 执行sql |
# trace 日志配置说明
当在 DevOps 向第三方服务(比如 Jenkins)发起的请求时发生异常,需要进行调试定位;亦或是需要查看对平台的某些操作会执行哪些 SQL 时,可以在 平台管理-高级-调试日志
中通过激活相关日志进行查看。
1)log4j-trace.xml:trace日志配置文件
2)易逝性日志配置说明:在调试日志菜单中进行配置激活,及时生效,重启后复原。通过MethodLoggerController实现
(1)http-client.log:
className:HttpClient
methodName:访问的三方URL信息(支持通配符),比如:10.15.15.133:8080/job/*-DevOps-96-*
(2)sql-details.log:
className:logDetailSqlRequestUri
methodName:请求URL信息,比如:api/pm/workitem
(3)sql.log:
className:logSqlWhenTimeout
methodName:超时时间
(4)sql.log:
className:logSqlTableName
methodName:表名
(5)devops.log:
className:类名(支持通配符)
methodName:方法名(支持通配符)
actionTypeName:before,after,exception
(6)exec-sql:
className:sql
methodName:sql语句,不支持drop和delete
# 日志激活示例
对 DevOps 向 Jenkins 发起的请求进行监控(该示例中 Jenkins 服务器地址为 10.15.15.88:8080)
- 日志激活配置
- 查看日志打印信息
- 取消日志激活