日志规范 之 logback日志
来源:互联网 发布:鹏业软件怎么样 编辑:程序博客网 时间:2024/05/21 15:45
目的
为了规范应用日志,方便系统问题分析跟查,特制订本规范。
适用范围
适用 Lifeix 所有后台应用。
内容
日志记录准则
在代码中嵌入 log 代码信息,主要记录下列信息:
1、 记录系统运行异常信息。
2、 记录系统运行状态信息。
3、 记录系统运行性能指标。
通过对上述信息分析和诊断,我们能采取正确的手段来提高系统质量 和 提升系统性能。
日志主要分三大类:
安全类信息:记录系统边界交互行为和信息
业务类信息:记录系统内部业务处理行为和信息
性能类信息:记录系统硬件对业务处理的支撑能力
日志中的相关约定
目录及命名规范
${LOG_DIR}/${SYSTEM_NAME}/system.log系统日志
${LOG_DIR}/${SYSTEM_NAME}/system.%d{yyyy-MM-dd}.%i.log历史系统日志
${LOG_DIR}/${SYSTEM_NAME}/%modulename%/%initialism%.log业务日志
${LOG_DIR}/%modulename%/%initialism%.%d{yyyy-MM-dd}.%i.log历史业务日志
logback配置规范
<appender>规范
1、日志输出文件目录及文件名
root日志通常记录在${LOG_DIR}/${SYSTEM_NAME}/system.log 文件中
其它需要特别记录的日志按照 ${LOG_DIR}/${SYSTEM_NAME}/%modulename%/%initialism%.log 的路径和文件名记录,其中%modulename%需要将实际的模块名替换之,%initialism%需要使用实际的缩略语替换之
2、日志按天记录,单个日志文件最大不超过5000MB
fileNamePattern还可以为 <fileNamePattern>${LOG_DIR}/%modulename%/%initialism%.%d{yyyy-MM-dd}.%i.log</fileNamePattern>,其中%modulename%需要将实际的模块名替换之,%initialism%需要使用实际的缩略语替换之
3、日志输出格式为
4、一个完整的Appender配置如下
<logger>规范
1、<logger>可以根据需要选择使用包路径还是名字的方式,当需要将某个包的所有日志记录到文件的时候可以配置包路径的方式,当需要纵向记录某个业务的日志的时候可以使用第二种方式
2、不要使用 additivity="false"
system.log 需要完整记录该系统所有的日志,为调试跟踪方便,部分日志重复记录到单独的文件里面去。
<root>规范
1、root的配置如下,root 的日志级别要求为ERROR,不可将无用的信息输出到日志文件,appender只可以配置ROOT_APPENDER和logstash。
logstash规范
1、logstash记录到 ${LOG_DIR}/${SYSTEM_NAME}/logstash.json 文件,每天记录到不同文件,单个文件大小不超过5000MB。
日志记录要求
权限日志
日志条件
用户/用户组权限的指派、移除
日志信息
操作时间
系统设备的主机名和 IP 地址
操作用户:谁在操作
授权用户或授权用户组
权限资源名称
操作方式(如:分配、修改、删除等)
操作结果(如:成功、失败)
账号管理日志
日志条件
用户/用户组的帐户管理,包括创建、删除、修改、禁用等。
用户的帐户密码管理,包括创建、修改等。
日志信息
操作时间
系统设备的主机名和 IP 地址
操作用户
被管理的用户/用户组
操作方式(如:新建、修改、删除等)
操作结果(如:成功、失败)
登陆认证管理日志
日志条件
成功的用户登录认证
失败的用户登录认证
用户注销
用户超时退出
日志信息
操作时间
系统设备的主机名和 IP 地址
操作用户
操作源ip地址
操作方式(如:登录、注销、超时退出等)
认证方式(如:AD+UKEY)
操作结果(如:成功、失败)
系统自身日志
日志条件
服务启动
服务停止
系统故障
日志信息
操作时间
系统设备的主机名和 IP 地址
操作用户
操作方式(如:服务启动等)
操作结果(如:成功、失败)
业务访问日志
日志条件
记录业务资源的访问活动
日志信息
操作时间
系统设备的主机名和 IP 地址
操作用户:谁在操作
操作源 IP
访问的资源名称
操作方式(如:查询、插入、删除等)
操作结果(如:成功、失败)
消息日志
日志条件
产生消息
消息被消费
消息消费异常及重试
日志信息
记录时间
系统设备的主机名和 IP 地址
P2P or Pub/Sub
消息队列
消息处理状态
重试次数
消息发布时间及处理时间
Socket通信
日志条件
socket消息的发送和接受(主要指系统直接的信息交互,并非业务socket通信)
日志信息
记录时间
消息来源系统设备的主机名和 IP 地址
消息体
多线程业务处理
日志条件
采用多线程并行处理大量小业务
日志信息
记录时间
线程ID
业务说明
操作方式(如:查询、插入、删除等)
操作结果(如:成功、失败)
帐号请求日志采集
针对所有帐号
将用户的龙号或者可以唯一标识用户的号码注入到所有的日志中,比如请求日志,响应日志,,,异常日志等等。当某个用户反馈问题的时候,可以通过龙号查找用户的 请求,响应,异常日志
针对测试/特殊帐号
后台系统可以对特殊帐号打详细的日志,这些日志细到后台处理每个节点的日志,响应时间等, 这些帐号可以在后台配置,,方便排查问题。
- 日志规范 之 logback日志
- 系统配置之logback日志
- 日志框架之LogBack
- 调试日志之slf4j+logback
- logback日志
- logback日志
- logback之debug级别日志性能
- springboot【17】日志管理之logback
- logback之二:输出日志到控制台
- 【LogBack】logback日志配置及日志分离
- 日志:slf4j+logback日志生成
- Logback日志系统配置攻略
- Logback日志系统配置攻略
- Logback日志系统配置攻略
- logback触发器日志滚动
- 日志组件logback
- logback日志使用记录
- Logback日志系统配置攻略
- Wow! Velocity.js
- 奇异矩阵和非奇异矩阵,伪逆矩阵
- Java基本数据类型
- Why Recovering a Deleted Ext3 File Is Difficult . . .
- nginx折腾记(HTTP性能能测试,与Apache对比)
- 日志规范 之 logback日志
- mtk preloader
- n|u - The Open Security Community
- MTK 平台LCD 驱动的整个过程的讲解
- ActionBar结合Fragment实现Tab导航、下拉式导航
- JS 解析Json 方法
- BitmapFactory.Options详解
- (一)Android百度公交开发—如何在Android应用中使用百度地图api
- Javascript的this用法