精华内容
下载资源
问答
  • 日志在排查文件的时候至关重要,在Linux上一般跟系统相关的日志默认都会放到/var/log下面。 1、/var/log/boot.log 一般包含系统启动时的日志,包括自启动的服务。 2、/var/log/btmp 记录所有失败登录信息。非...

    日志在排查文件的时候至关重要,在Linux上一般跟系统相关的日志默认都会放到/var/log下面。

    1、/var/log/boot.log

    一般包含系统启动时的日志,包括自启动的服务。

    2、/var/log/btmp

    记录所有失败登录信息。非文本文件,可以使用last -f /var/log/btmp进行查看。

    3、/var/log/cron

    cron计划任务的日志,每当cron任务被执行的时候都会在这个文件里面记录。

    4、/var/log/dmesg

    包含内核缓冲信息(kernel ring buffer)。在系统启动时,会在屏幕上显示许多与硬件有关的信息。可以直接查看这个文件或者使用dmesg这个命令查看。

    5、/var/log/lastlog

    记录所有用户的最近信息。非文本文件,可以使用lastlog进行查看。

    6、/var/log/maillog

    包含来着系统运行电子邮件服务器的日志信息。

    7、/var/log/message

    包括整体系统信息,其中也包含系统启动期间的日志。此外,mail,cron,daemon,kern和auth等内容也记录在var/log/messages日志中。

    8、/var/log/secure

    包含验证和授权方面信息。例如,sshd会将所有信息记录(其中包括失败登录)在这里。

     

    9、/var/log/yum.log

    包含使用yum安装软件包的信息。

    10、/var/log/anaconda/ 目录 或者 /var/log/anconda.log

    包含在安装CentOS/RHEL时候的日志。

    11、/var/log/audit目录

    包含audit daemon的审计日志。例如:selinux开启的时候,这里就会有关于selinux审计的日志。

    12、/var/log/sa/ 目录

    包含每日由sysstat软件包收集的sar文件。

    13、/var/log/cups

    涉及所有打印信息的日志,即cups打印服务运行的日志。

    14、其他文件或者目录

    例如安装系统自带的一些软件的时候,默认的日志输出都是输出到这个路径下的,例如apache默认日志路径/var/log/httpd/,这个是为了遵循系统设计的一些规范。

     

    总结

    以上是针对CentOS/RHEL系统的日志,其他系统的日志名称有可能不一样,但是路径基本都是在/var/log/里面。

     

     

    展开全文
  • 业务系统日志记录规范总结

    千次阅读 2019-08-28 16:01:09
    业务系统日志记录规范 注意 应用中应该充满了日志记录信息,日志甚至比逻辑代码还要多; 集成 seluth ,开启消息链路;不开启日志上传,不集成 zipkin; 应该避免日志记录过程中出现异常,比如 log.debug(requst...

    业务系统日志记录规范

    注意

    1. 应用中应该充满了日志记录信息,日志甚至比逻辑代码还要多;
    2. 集成 seluth ,开启消息链路;不开启日志上传,不集成 zipkin;
    3. 应该避免日志记录过程中出现异常,比如 log.debug(requst.getid) ,这条日志记录之前一定要判断 request 是否为空;日志记录中使用的信息一定时稳定的,提前准备好的,最好不是专门为此次日志记录专门准备的;
    4. 日志应只记录标识性信息,具体信息从具体存储里取;
    5. 日志应该同时支持人和计算机都可以读;人可读的意思的,要成句子;计算机可读的意思是要有明确的分割符,可以支持正则等工具抽取其中有意义的信息;
    6. service 或 manager 层内有 if…else 或者 switch 这样的分支时,要在分支的首行打印日志,用来确定进入了哪个分支;
    7. 对于 trace / debug / info 级别的日志输出,必须进行日志级别的开关判断。warn 和 error 不用开关判断;

    日志级别 trace 和 debug

    测试环境要实现的目标是,不需要重新完整的调试程序,可以直接定位到出问题的 service 内的逻辑分支,最多在进行一次小范围的测试;
    要实现这个目标,需要记录 service 入参出参,debug级别的日志,只在非生产环境中使用;

    日志级别 info

    1. info级别的日志只在 service 层和 manager 层存在,体现业务逻辑运行的路径,工具类等的不要记录;
    2. Service 方法中对于系统/业务状态的变更处记录
    3. 主要逻辑中的分步骤记录

    日志级别 warn

    1. 有容错机制的时候出现的错误情况,有异常,但是你有 Plan B;
    2. 业务异常的记录,比如:当接口抛出业务异常时,应该记录此异常;
    3. warn 日志级别来记录用户输入参数错误的情况,避免用户投诉时,可以追溯信息;

    日志级别 error

    error 级别只记录系统逻辑出错、异常或者重要的错误信息。
    异常在程序中,一般会沿着调用链路,层层上抛,直到service层,在最终处理异常的地方记录log.error(e);log.error和往外抛异常,不应该同时出现;

    错误异常

    错误异常分为程序异常(系统异常)和业务异常;

    程序异常会导致程序不能正常执行;业务异常不会,业务异常的处理属于业务逻辑的一部分;
    ERROR 级别的日志,一出,意味着开发运维人员要介入了,要操作确认一下东西,要维修一些东西了;

    业务系统开发过程中,不需要 log.error 记录异常,让框架和容器(Tomcat等)来做;
    业务异常的需要开发者开发对应的异常处理逻辑,业务异常不是程序异常;比如用户登陆失败;
    业务异常的处理属于正常的业务逻辑,不应该log.error,不重要的可以不log,重要的可以使用log.warn记录,避免用户投诉时,可以追溯信息;

    数据库或者kafka在应用启动时连不上是如何处理的,在应用运行过程中是如何处理的?启动时,依赖的插件有问题,应用直接启动不起来;如果应用已经启动起来了,触发到跟其交互时,抛出异常,程序还是正常执行;

    ExceptionHandler的默认的处理逻辑

    ExceptionHandler的默认的处理逻辑不要吃掉所有的异常,log.error打印出来,这个逻辑主要用来处理程序异常,业务异常都应有对应的处理逻辑;

    @ExceptionHandler(Throwable.class)
    @ResponseBody
    public String handle(Throwable e) {
    	log.error(e.getMessage(),e);
    	//构造返回信息
    	return e.getMessage();
    }
    

    程序异常

    各个组件的异常信息可以各自处理;比如SQLExcption,需要如果SQL 出异常,异常的信息中会有SQL相关的信息,如果直接返回给前端,会造成安全问题,前端对此异常也不关心,而后端开发者关心的信息应该都记录在日志中,以方便分析问题;

    @ExceptionHandler(SQLException.class)
    @ResponseBody
    public String handle(SQLException e) {
    	log.error(e.getMessage(),e);
    	//构造返回信息,记得脱敏
    	return e.getMessage();
    }
    

    各个组件的SDK一般都会有自己的异常体系;可以根据情况直接对顶级异常类,或者典型的异常子类进行处理;
    接入外部组件时,首先分析其SDK的异常体系,编写对应的ExceptionHandler

    org.apache.kafka.common.KafkaException
    org.springframework.kafka.KafkaException
    java.sql.SQLException

    链路追踪

    多个进程间的日志联动
    集中式日志存储系统的存在,让在一个入口处理业务系统的日志成为了可能,产生了高级的用法,链路追踪;
    用户的一个动作触发的在各个系统的所有的执行逻辑,使用一个标识将其联系起来,开发人员分析的时候,可以根据此标识查询所有相关的日志,哪里出问题,一目了然;

    远程调用

    远程调用的plan b,就是熔断降级里面的Plan B;
    外部接口部分,客户端请求参数(REST/WS),调用第三方时的调用参数和调用结果使用info

    如果出异常,调用过程异常或者返回错误码,根据情况选择抛出异常或者启用Plan B;
    抛出异常意味着程序正常流程执行结束,需要处理这个异常,warn记录此异常,然后返回用户结果;
    Plan B意味着程序还可以正常执行下去,warn记录发生了此事件,出现异常转入Plan B;

    远程调用过程中出异常,意味着需要开发人员介入,应该记录 error 级别的异常;
    如果是返回的错误码是非成功执行的错误码,这时候应该根据错误码的级别抛出不同的异常,处理异常的地方根据远程调用的接口的重要程度评估使用不同的日志级别。

    验证日志

    提交代码前,确定通过日志可以看到一个功能的整个执行流程,可以通过日志进行问题定位程序执行的路径;

    参考

    用JAVA日志来写诗
    JAVA - 优雅的记录日志(log4j实战篇)
    Alibaba Java Coding Guidelines
    小白学习如何打日志
    正确的打日志姿势
    Java常用日志框架介绍

    展开全文
  • Java基础学习总结(146)——开发人员日志实践规范

    千次阅读 多人点赞 2019-06-17 15:58:43
    一、日志规范 日志作用: 1、日常排查问题(基本作用),快速定位问题的根源 2、分析日志,构建常见问题排查平台 3、报表输出(日活、周活) 4、追踪程序执行的过程,追踪数据的变化: a)在系统启动或初始化时...

    一、日志规范

    日志作用:

    1、日常排查问题(基本作用),快速定位问题的根源

    2、分析日志,构建常见问题排查平台

    3、报表输出(日活、周活)

    4、追踪程序执行的过程,追踪数据的变化: 

        a)在系统启动或初始化时记录重要的系统初始化参数;

        b)记录系统运行过程中的所有的错误;

        c)记录系统运行过程中的所有的警告; 

        d)在持久化数据修改时记录修改前和修改后的值;

        e)记录系统各主要模块之间的请求和响应;

        f)记录用户操作的审计日志࿰

    展开全文
  • 日志异常监控----log4j规范

    千次阅读 2018-05-23 20:26:45
    1,日志路径:日志存储路径/Data/logs/项目名称/bizlog/; 2,时间格式:%d{yyyy-MM-ddHH: mm:ss.SSS } 3,毫秒前是"." 4,日志文件名称的后缀XXX.log 5,备份日志格式:XXX.log.yyyy-MM-dd 6,业务系统的日志打印到项目...

     

     

    <<日志异常监控>>---log4j规范

     

    前言:

    一,格式

    二,书写

    三,log4j2的格式

    四,收集那些日志?

    五,小结:

     


    前言:

       对于日志监控异常平台来说,一个非常重要的地方就是要按一定的规则来进行对业务系统的日志进行收集.

    所以业务系统打出来的日志,也需要有一定的规则, 这个规则可以根据系统或需求来定,下面记录一下日志监控平台初步的日志收集规范,也就是在业务系统的log4j 要更改的地方, 它们按这个规则进行打出日志, 日志监控平台就能收集到相关的日志,就可以进行相关的报警提醒:

     

    一,格式

    1,日志路径:日志存储路径/Data/logs/项目名称/bizlog/;

    2,时间格式:%d{yyyy-MM-ddHH:mm:ss.SSS}

    3,毫秒前是"."

    4,日志文件名称的后缀XXX.log

    5,备份日志格式:XXX.log.yyyy-MM-dd

    6,业务系统的日志打印到项目对应得日志文件里;


     


    二,书写

    1,不要在日志中写中文;

    2,异常信息使用ERROR级别;

    3,异常信息不要主动增加换行;

     

    三,log4j2的格式

    1, %d{yyyy-MM-dd HH:mm:ss.SSS} %p %t%.20c.%M %L -%m%n

    2, 日志编码格式为:UTF-8

     

    四,收集那些日志?

    1,以.log 和.out 的格式文件,同时过滤掉包含当前年份的日志文件

     

     

    五,小结:

      目前对所有的业务系统来说,主要是更改两个地方:

    (1)保存日志位置日志存储路径/Data/logs/项目名称/bizlog/

    (2)时间格式: %d{yyyy-MM-ddHH:mm:ss.SSS}%p %t %.20c.%M %L -%m%n

     


    注意: 如果是更改配置文件,不建议改 git 或 svn 仓库里的, 最好是将线上配置文件复制下来,更改在更新上去, 以免有变动比较大.

     


     

     

    展开全文
  • Java知识体系最强总结(2021版)

    万次阅读 多人点赞 2019-12-18 10:09:56
    文章目录 Java面试总结 基础知识 Java概述 基础语法 面向对象 集合框架 IO流 网络编程 常用API 日期时间API 常用工具类库 单元测试 异常 日志 Java8新特性 工具 IDEA Eclipse & STS Maven Docker Git GitLab Git...
  • Java基础知识面试题(2020最新版)

    万次阅读 多人点赞 2020-02-19 12:11:27
    String为什么是不可变的 Date相关 包装类相关 自动装箱与拆箱 int 和 Integer 有什么区别 Integer a= 127 与 Integer b = 127相等吗 常用工具类库 单元测试 日志 Java面试总结汇总,整理了包括Java基础知识,集合...
  • springboot+logback日志规范

    千次阅读 2018-02-09 09:59:02
    当前问题项目采用springboot的框架集成了logback的日志配置方式,但是在使用中遇到了很多问题,同时也基于“立刻方能用好”的原则,对于logback与springboot的配置做了一些了解和其它项目的配置对比,结合当前项目的...
  • 日志规范的思考

    千次阅读 2018-09-16 18:37:51
    这时,日志就给我们提供了第一手的资料。 基本原则 ● 不影响系统正常运行; ● 不允许产生安全问题; ● 不允许输出机密信息; ● 日志可供开发人员定位问题的真正原因; ● 日志可供监控系统自动...
  • 致 Python 初学者

    万次阅读 多人点赞 2019-11-10 00:03:26
    运行代码分成两步: 第1步,打开一个命令行窗口,路径切换到脚本所在的文件夹。我习惯在脚本所在窗口的空白位置(确保没有选中任何对象),按下shift键点击鼠标右键,在弹出的菜单中选择打开Powershell窗口。如下图...
  • 日志打印的规范以及实现方式

    千次阅读 多人点赞 2019-01-08 18:00:16
    为什么要做日志? 原因1:跟踪应用的警告和错误,标识程序运行中的危险操作、错误操作,进而便于在出现问题时排查问题 原因2:跟踪崩溃bug,在开发过程中,日志可以帮助开发者和软件测试人员跟踪程序崩溃的原因 ...
  • javaScript学习笔记(一)js基础

    万次阅读 多人点赞 2018-09-21 10:07:18
    公众号 关注一波 不定期分享视频资料 一、简介 1、概述: ... ==============《轮播图图片路径问题》================ ================================= 公众号 关注一波 (一叶知秋博客)不定期分享视频资料
  • log日志规范,区别

    千次阅读 2017-03-20 12:44:40
    日志的级别level:日志的级别,常用的DEBUG , INFO ,WARN ,ERROR四种. DEBUG: 这个级别的信息,可以随意的使用,任何觉得有利于在调试时更详细的了解系统运行的状态. INFO: 这个级别的信息用来反馈系统的当前...
  • log4j2.xml日志文件设置文件路径

    千次阅读 2017-09-28 22:02:00
    在属性文件里使用${web.root}以取得完整路径,项目里使用了log4j2,在设置文件路径的时候也尝试用${web.root}却始终无法 获得属性值,创建的文件夹名字叫${web.root},显然这不符合实际工作环境需要。网上也有${sys:...
  • 关于@Slf4j日志的输出配置方式

    千次阅读 2018-12-27 19:01:36
    最近项目要求,将日志输出到指定位置,方便以后查看,因为使用了lombok这个jar包,就用了lombok所带的日志功能,具体lombok的配置方式请自行百度配置,本人使用的是Springboot架构,可能会出现于架构自带的日志冲突,导致...
  • Java日志管理规范

    千次阅读 2015-09-25 15:23:37
    请注意红色字体! Java 日志 API 现在比较流行的java日志api包括 log4j /log4j2 及其...这类库的作用是在日志记录实现的基础上提供一个封装的 API 层次,对日志记录 API 的使用者提供一个统一的接口,使得可以自由切
  • 一般日志规范

    千次阅读 2016-12-02 18:42:20
    后台服务日志输出规范  在后台服务中添加程序日志记录可以跟踪代码运行时轨迹,作为日后审计的依据;并且担当集成开发环境中的调试器的作用,向文件打印代码的调试信息;同时规划化输出的日志文件,便于和其他...
  • 日志规范

    万次阅读 2013-08-30 12:57:29
    后台服务日志输出规范  在后台服务中添加程序日志记录可以跟踪代码运行时轨迹,作为日后审计的依据;并且担当集成开发环境中的调试器的作用,向文件打印代码的调试信息;同时规划化输出的日志文件,便于和其他相关...
  • Java知识体系最强总结(2020版)

    千次阅读 多人点赞 2020-03-07 08:35:51
    文章目录 Java面试总结 基础知识 Java概述 基础语法 面向对象 集合框架 IO流 网络编程 常用API 常用工具类库 单元测试 异常 日志 工具 IDEA Eclipse & STS Maven Docker Git GitLab GitKraken Navicat 并发编程 ...
  • JavaWeb笔记

    千次阅读 多人点赞 2019-09-06 10:42:23
    七、tomcat服务器的各个目录的功能 bin:启动、关闭脚本 lib:日志 conf:配置文件 webapps:已发布的web程序 八、常见的服务器: (1)ApacheApache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用...
  • 测试开发笔记

    万次阅读 多人点赞 2019-11-14 17:11:58
    145 ⑵自顶向下的单元测试策略 146 ⑶自底向上的单元测试方法 147 单元测试用例设计(基本路径覆盖法)★ (面试) 148 程序控制流图 148 单元测试执行 150 单元测试框架 151 第十八章 集成测试 153 第一阶段总结 ...
  • 项目日志规范及其配置

    千次阅读 2014-06-09 11:09:45
    项目的所有日志(包括项目自身输出日志和服务器输出日志)放在服务器根目录的 logs子目录下,规范为: http访问日志放在access.log,http异常日志放在error.log,tomcat服务器正常输出放在stdout.log,应用或...
  • 后台服务日志(log4cplus)输出规范

    千次阅读 2014-11-13 20:30:12
    在后台服务中添加程序日志记录可以跟踪代码运行时轨迹,作为日后审计的依据;并且担当集成开发环境中的调试器的作用,向文件打印代码的调试信息;同时规划化输出的日志文件,便于和其他相关人员交流分析使用。本规定...
  • TensorFlow入门

    千次阅读 多人点赞 2019-04-23 10:09:29
    TensorFlow入门 参考资料: TensorFlow中文社区教程 TENSORFLOW从入门到精通之——TENSORFLOW基本操作 TensorFlow升级到1.0版本的问题 Tensorflow save&restore遇到问题及解决应对 NotFoundError: Key Variable...
  • SpringBoot:三十五道SpringBoot面试题及答案!

    万次阅读 多人点赞 2019-05-15 23:08:32
    例如,myapp.js 的路径是 resources\static\js\myapp.js,你可以参考它在 jsp 中的使用方法: 错误:HAL browser gives me unauthorized error - Full authenticaition is required to access this resource.,...
  • 日志规范与自动删除

    千次阅读 2018-08-21 11:35:00
    日志规范 1.1. 目的 在正式环境运行时,程序出现问题是能够提供足够的信息来帮助开发人员找到问题。 1.2. 要求 为了达到这样的目的,要求要准确的在问题发生时暴露问题原因,执行内容上下文(报 错的位置,层级...
  • SpringMVC

    千次阅读 多人点赞 2018-12-26 20:51:57
    :分析请求路径,找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给前端控制器   处理器适配器 :调用相应的处理器,把得到的结果ModelAndView返回给前端控制器   视图解析器 :解析...
  • 软件测试面试题汇总

    万次阅读 多人点赞 2018-09-27 12:31:09
    转载自: ... 软件测试面试题汇总 测试技术面试题 ...........................................................................................................
  • logback 日志输出格式

    千次阅读 2019-09-24 10:36:13
    【前言】 日志对一个系统的重要性不言而喻;日志通常是在排查问题时给人看,一个友好的...下面为大家共享一下通过设置logback日志输出格式,打印出令人欣喜的日志样式。 【搞一下日志格式】 一、未指定日志格...
  •  在应用程序中添加程序日志记录可以跟踪代码运行时轨迹,作为日后审计的依据;并且担当集成开发环境中的调试器的作用,向文件打印代码的调试信息。本规定Jave EE项目必须使用Commons-Logging作为日志接口封装,选用...
  • 《数据库原理》— 数据库系统概论第五版习题解析

    万次阅读 多人点赞 2017-05-29 14:57:48
    由于记录之间联系是通过存取路径实现的,应用程序在访问数据时必须选择适当的存取路径。因此,用户必须了解系统结构的细节,加重了编写应用程序的负担。  13.试述关系模型的概念,定义并解释以下术语: ( l ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 72,835
精华内容 29,134
关键字:

日志路径规范