日志信息分类

1.等级由低到高:debug

2.区别:

debug 级别最低,可以随意的使用于任何觉得有利于在调试时更详细的了解系统运行状态的东东;

info  重要,输出信息:用来反馈系统的当前状态给最终用户的;

后三个,警告、错误、严重错误,这三者应该都在系统运行时检测到了一个不正常的状态。

warn, 可修复,系统可继续运行下去;

Error, 可修复性,但无法确定系统会正常的工作下去;

Fatal, 相当严重,可以肯定这种错误已经无法修复,并且如果系统继续运行下去的话后果严重。

3.使用

什么时候使用 info, warn , error ?

info 用于打印程序应该出现的正常状态信息, 便于追踪定位;

warn 表明系统出现轻微的不合理但不影响运行和使用;

error 表明出现了系统错误和异常,无法正常完成目标操作。

4.格式

总结起来, 错误日志格式可以为:

log.error(“[接口名或操作名] [Some Error Msg] happens. [params] [Probably Because]. [Probably need to do].”);

log.error(String.format(“[接口名或操作名] [Some Error Msg] happens. [%s]. [Probably Because]. [Probably need to do].”, params));

log.error(“[Some Error Msg] happens to 错误参数或内容 when [in some condition]. [Probably Because]. [Probably need to do].”);

log.error(String.format(“[Some Error Msg] happens to %s when [in some condition]. [Probably Because]. [Probably need to do].”, parameters));

[Probably Reason]. [Probably need to do]. 在某些情况下可以省略; 在一些重要接口和场景下最好能说明一下。

每一条错误日志都是独立的,尽可能完整、具体、直接说明何种场景下发生了什么错误,由什么原因导致,要采用什么措施或步骤。

5.意义

错误日志是排查问题的重要手段之一。 当我们编程实现一项功能时, 通常会考虑可能发生的各种错误及相应原因:

要排查出相应的原因, 就需要一些关键描述来定位原因。这就会形成三元组:错误现象 -> 错误关键描述 -> 最终的错误原因。

需要针对每一种错误尽可能提供相应的错误关键描述,从而定位到相应的错误原因。也就是说,编程的时候,要仔细思考, 哪些描述是非常有利于定位错误原因的, 尽可能将这些描述添加到错误日志中。

二、相关日志目录

1、内核引导日志目录

/var/log/dmesg

ssh登陆记录信息,包括失败的记录信息。

/var/log/secure

记录邮件相关信息

/var/log/maillog

记录crontab相关信息

/var/log/cron

记录ftp相关的日志信息

/var/log/xferlog

系统大部分日志,包括login、check password、failed log等

/var/log/messages

三、一些命令

lastlog查看/var/log/lastlog文件的信息

①、查看最近root的登陆情况

Lastlog  -u  root

who、users、finger命令查看/var/run/utmp文件,记录每个用户登陆系统的时间

Last命令查看/var/log/wtmp文件,记录每个用户登入与登出时间

————————————————

/proc/sys/kernel/printk文件定义了4个数字, 查看日志级别:

cat /proc/sys/kernel/printk

4 4 1 7

①控制台日志级别:优先级高于该值的消息将被打印至控制台。

②缺省的消息日志级别:将用该值来打印没有优先级的消息。

③最低的控制台日志级别:控制台日志级别可能被设置的最小值。

④缺省的控制台:控制台日志级别的缺省值。

日志缓冲区的每一行文本开头具有级别标记, 级别值越小则优先级越高.

系统定义了8个消息级别, 级别号从0到7分别为:

致命级(KERN_EMESG),

警戒级(KERN_ALERT),

临界级(KERN_CRIT),

错误级(KERN_ERR),

告警级(KERN_WARN),

注意级(KERN_NOTICE),

通知级(KERN_INFO),

调试级(KERN_DEBUG).

修改日志级别:

echo 0 4 1 7 > /proc/sys/kernel/printk

log4j定义了8个级别的log(除去OFF和ALL,可以说分为6个级别),优先级从高到低依次为:OFF、FATAL、ERROR、WARN、INFO、DEBUG、TRACE、 ALL。

ALL 最低等级的,用于打开所有日志记录。

TRACE designates finer-grained informational events than the DEBUG.Since:1.2.12,很低的日志级别,一般不会使用。

DEBUG 指出细粒度信息事件对调试应用程序是非常有帮助的,主要用于开发过程中打印一些运行信息。

INFO 消息在粗粒度级别上突出强调应用程序的运行过程。打印一些你感兴趣的或者重要的信息,这个可以用于生产环境中输出程序运行的一些重要信息,但是不能滥用,避免打印过多的日志。

WARN 表明会出现潜在错误的情形,有些信息不是错误信息,但是也要给程序员的一些提示。

ERROR 指出虽然发生错误事件,但仍然不影响系统的继续运行。打印错误和异常信息,如果不想输出太多的日志,可以使用这个级别。

FATAL 指出每个严重的错误事件将会导致应用程序的退出。这个级别比较高了。重大错误,这种级别你可以直接停止程序了。

OFF 最高等级的,用于关闭所有日志记录。

如果将log level设置在某一个级别上,那么比此级别优先级高的log都能打印出来。例如,如果设置优先级为WARN,那么OFF、FATAL、ERROR、WARN 4个级别的log能正常输出,而INFO、DEBUG、TRACE、 ALL级别的log则会被忽略。Log4j建议只使用四个级别,优先级从高到低分别是ERROR、WARN、INFO、DEBUG。

从我们实验的结果可以看出,log4j默认的优先级为ERROR或者WARN(实际上是ERROR)。

————————————————

当系统崩溃修复时,会产生大量系统日志,不便于关键信息获取,通过修改系统日志打印界别,可突出所需级别的日志信息,便于查找。

查询串口日志级别

在 OS 执行cat /proc/sys/kernel/printk命令,返回信息中“3”表示串口日志级别:

linux-70u8:~ # cat /proc/sys/kernel/printk

3 4 1 7

修改串口日志级别

 说明:

该方法只对当次运行有效,OS重启后串口日志级别恢复为配置文件定义的级别。

在 OS 执行echo N > /proc/sys/kernel/printk命令,N 表示要设置的串口日志级别,相关说明如表11-3所示。

linux-70u8:~ # echo 7 > /proc/sys/kernel/printk

linux-70u8:~ # cat /proc/sys/kernel/printk

7 4 1 7

表11-3 串口日志级别说明

级别

对应内核日志级别

说明

0

KERN_EMERG

紧急消息。系统崩溃之前提示,表示系统已不可用。

1

KERN_ALERT

报告消息。表示必须立即采取措施。

2

KERN_CRIT

临界消息。通常涉及严重的硬件或软件操作失败。

3

KERN_ERR

错误消息。串口日志的默认级别。驱动程序常用 KERN_ERR 来报告硬件的错误。

4

KERN_WARNING

警告消息。对可能出现问题的情况进行警告。

5

KERN_NOTICE

正常但又重要的消息。用于提醒,常用于与安全相关的消息。

6

KERN_INFO

提示消息。如驱动程序启动时,打印硬件消息。

7

KERN_DEBUG

调试消息。设置此级别会打印所有日志消息。

云服务器 ECS Linux 系统中常见的日志文件介绍

云服务器 ECS Linux 系统中,日志文件是非常重要的文件,它们记录了很多系统中重要的事.Linux 系统中常见日志文件概述如下: /var/log/cron可以在 cron 文件中检查 cron ...

(转)浅谈 Linux 系统中的 SNMP Trap

原文:https://www.ibm.com/developerworks/cn/linux/l-cn-snmp/index.html 简介 本文讲解 SNMP Trap,在介绍 Trap 概念之前, ...

【OS_Linux】Linux系统中目录及文件管理

1.Linux系统中目录的树状结构 目录 /bin 存放二进制可执行文件(ls,cat,mkdir等),常用命令一般都在这里. /etc 存放系统管理和配置文件 /home 存放所有用户文件的根目录, ...

用户管理 之 Linux 系统中的超级权限的控制

在Linux操作系统中,root的权限是最高的,也被称为超级权限的拥有者.普通用户无法执行的操作,root用户都能完成,所以也被称之为超级管理用户. 在系统中,每个文件.目录和进程,都归属于某一个用户 ...

CentOS(四)--Linux系统的启动级别

对于绝大多数Linux程序员来说,进入Linux系统后一般看到的是黑乎乎的界面(开发模式),因为系统如果启动选择开发模式,会减少启动时间,优化内存等.但是通常我们刚安装完Linux系统,然后进去以后是 ...

Linux系统中常见文件系统格式

Windows常用的分区格式有三种,分别是FAT16.FAT32.NTFS格式. 在Linux操作系统里有Ext2.Ext3.Linux swap和VFAT四种格式. FAT16: 作为一种文件名称, ...

虚拟机-linux系统中图形界面和命令行界面切换

linux系统中图形化界面和命令行界面之间的切换可以分为两种,临时性切换和永久性切换. 临时性切换即切换后只对本次生效,系统重启后界面还是默认界面. 永久性切换即切换后系统开机后永远处于的界面. 临时 ...

【Linux】Linux系统中的权限详解

我们linux服务器上有严格的权限等级,如果权限过高导致误操作会增加服务器的风险.所以对于了解linux系统中的各种权限及要给用户,服务等分配合理的权限十分重要. 一.文件基本权限 首先看下linux ...

在linux系统中安装MySQL

1.安装Linux系统中自带的MySQL安装包 在现在常用的发行版本里都集中了MySQL安装包 CentOS系统中的YUM中包含了MySQL安装包,版本是MySQL5,rpm软件包的名称是mysql- ...

随机推荐

canvas九宫格跑马灯

canvas九宫格跑马灯抽奖 之前用dom写了一版,部分 安卓机会卡顿,换用canvas dom版本九宫格抽奖

MMORPG大型游戏设计与开发(概述)updated

1.定义 MMORPG,是英文Massive(或Massively)Multiplayer Online Role-PlayingGame的缩写,即大型多人在线角色扮演游戏. 2.技术与知识 在这系列 ...

vc++创建文件目录

#include "stdafx.h" #include #include #include

Mac上远程桌面连接Windows Server 2012 R2

在将一台服务器的操作系统由Windows Server 2012升级为Windows Server 2012 R2之后,在Mac电脑上用微软的远程桌面软件怎么也连不上服务器,错误信息如下: Remot ...

C# 对List成员排序的简单方法

网上看到的方法,实在太方便了,转过来保存,原链接: http://blog.csdn.net/wanzhuan2010/article/details/6205884 using System; us ...

MapReduce的数据流程、执行流程

MapReduce的数据流程: 预先加载本地的输入文件 经过MAP处理产生中间结果 经过shuffle程序将相同key的中间结果分发到同一节点上处理 Recude处理产生结果输出 将结果输出保存在hd ...

ZEN_CART_如何添加自定义页面

按照下面的路径,添加自己的文件,就OK了 以about us页面为例, 默认模板 \includes\templates\template_default\templates\tpl_about_us ...

vue.js 配置移动端的url Scheme和iOS端配置url Scheme

假如urlScheme:baibai:// 一.vue.js端的配置: 1.通过html标签跳转:

(三) Keras Mnist分类程序以及改用交叉熵对比

视频学习来源 https://www.bilibili.com/video/av40787141?from=search&seid=17003307842787199553 笔记 Mnist分 ...

此处为当前页,设置此处的href点后没有效果

如果javaScript:void(0);写错了,那就很尴尬(某些浏览器忽略该错误如:谷歌 ...

linux 内核日志等级,Linux系统中日志级别详情相关推荐

  1. 如何安装新linux内核,详解Debian系统中安装Linux新内核的流程

    一直对Linux内核很有兴趣,但苦于入门不易,认真看了ldd前5章突然就来感觉了,光看不练不顶用,首先就需要环境搭建. 使用的是Debian 5.0,内核2.6.26,欲安装的新内核为2.6.28,这 ...

  2. Linux内核错误(引导系统)Deepin用户手册在/etc/sysctl.conf文件中加入kernel.panic = 20,在/etc/sysctl.conf中kernel.sysrq=1内存

    Linux内核错误(引导系统)- 系统管理 -Deepin深度系统用户手册 Power By Baidu Ai 00:00 00:00 目录 1 简介 2 问题分析 3 案例分析 此文章约为4327字 ...

  3. 【linux】进程优先级、nice系统中的nice值和nice time,top中的PR和ps中的PRI

    出处:https://blog.csdn.net/u010317005/article/details/80531985 linux内核目前实现了6中调度策略(即调度算法), 用于对不同类型的进程进行 ...

  4. Android研究-linux内核启动到android系统

    很多人阅读代码,总喜欢从头开始,这样觉得很安全,有依靠,无论如何总是能知道"头",有头就能找到任何需要的部分. Android生在linux内核基础上,linux内核启动的最后一步 ...

  5. linux内核分成如下五个子系统,linux内核主要由5个子系统 Linux内核由哪几个子系统组成?...

    1, Linux内核由哪几个子系统组成? Linux内核主要由五个子系统组成:进程调度,内存管理,虚拟文件系统,网络接口,进程间通信.1.进程调度(SCHED):控制进程对CPU的访问.当需要选择下一 ...

  6. Linux内核的5个子系统

    首先一张熟悉的图来说明GNU/linux的基本体系结构: 体系的上部分是用户(或应用程序)空间,这是用户应用程序执行的地方.用户空间之下是内核空间,Linux 内核正是位于这里.Linux 内核可以进 ...

  7. 服务器的系统日志路径,DirectAdmin 日志路径各种系统中查看方法Windows服务器操作系统 -电脑资料...

    本文章收集了现在常用的系统中查看DirectAdmin 日志路径各种问题的解决办法,有需要了解的朋友可参考, 可以通过admin的Log Viewer来查看默认定义的几个日志文件. 也可以通过ssh来 ...

  8. 【Linux 内核】编译 Linux 内核 ⑦ ( 安装内核模块 | 安装内核 | 重启系统 | 查看当前内核版本 )

    文章目录 一.安装内核模块 二.安装内核 三.重启系统 四.查看当前内核版本 一.安装内核模块 确保 Linux 内核编译完成 , 没有任何报错之后 ; 参考 [Linux 内核]编译 Linux 内 ...

  9. 解决ubuntu更改Linux内核(或更新系统)后扩展屏(第二显示器)无法正常显示问题)

    解决ubuntu更改Linux内核(或更新系统)后扩展屏(第二显示器)无法正常显示问题 我的解决方案 一定先看这个(很重要) 直接看这个就可以 前几天更新了一下ubuntu系统,一切正常,但是当我把系 ...

最新文章

  1. 装饰模式(Decorator Pattern)--------结构型模式
  2. Intellij IDEA 创建Web项目并在Tomcat中部署运行
  3. java arraycollection_Java集合(三)--Collection、Collections和Arrays
  4. Spring Cloud(八)使用Zipkin进行分布式链路跟踪
  5. Python案例:查询城市天气并绘制最高气温与最低气温折线图
  6. 当直播电商用上 AI 实时翻译,歪果仁也能听懂李佳琦
  7. 【ArcGIS|空间分析】第七届全国大学生GIS技能大赛——上午
  8. 百度开源深度学习框架【飞桨——PaddlePaddle】学习实践一
  9. 2019奥斯卡谁是赢家 这里有一份来自AI的预测名单
  10. 快速学习navicat安装教程
  11. 软件测试技术什么是分支覆盖,分支覆盖率测试是什么?
  12. 如何在Visual Paradigm中创建流程图?
  13. 中继 并发量_潮流UCM6102 IP PBX 支持500门分机 双外线 30个并发数
  14. java中数字作为布尔值_day50 java Script 数字和字符串 布尔值和数组 运算符 条件判断和三元运算...
  15. 女人是这样哄的,学以致用
  16. 什么叫计算机网络虫洞,虫洞:危险与希望并存
  17. myeclipse8.5 TPTP插件的使用问题
  18. Spring boot 项目Kafka Error connecting to node xxx:xxx Kafka项目启动异常 Failed to construct kafka consumer
  19. 白鹭引擎 android9,白鹭引擎打包APP过程
  20. 视觉错觉的举例------------善于发现生活中的

热门文章

  1. 表现层登录的处理逻辑及代码实现
  2. js操作节点对象-getElementById
  3. Qt C++模版函数示例
  4. 机器人学中的一些概念3——雅克比矩阵
  5. go 开了多少个goroutine 怎么看_线上 Go 程序偶尔出现异常怎么办?这个思路可解决你的烦恼...
  6. python快速编程入门飞机大战_少儿编程:使用python完成飞机大战游戏(一)
  7. 看看这几个版本Linux系统总有一款适合你
  8. Cpp 对象模型探索 / 多重继承虚函数表分析
  9. 双向TVS管 30KP42CA
  10. MT7688 坑爹的 SPI Master 半双工全双工问题