rsyslog日志打印到控制台的异常

场景描述:Linux系统启动之后,没有进入到登录界面之前,屏幕刷拉拉一大片的HTTP日志打印,吓了我一大跳,这又是什么系统异常吗?这些日志不是应该写入到/var/log/messages文件中吗?毕竟HTTP服务程序调用的是syslog函数接口!!另外一件古怪的事情是,关闭系统的时候,日志也打印到了控制台,这正是菲尼索斯的事情。

解开谜团:开机打印日志到控制台是因为rsyslog并没有启动,HTTP服务程序只能够把日志输出到控制台上,说明没有把服务的顺序调整好,所以我们应该在HTTP服务程序的依赖项中先让rsyslog启动,然后才启动自己。当然了关机的异常也可以解析清楚了:由于我们的服务程序并没有编写关闭服务的脚本所以HTTP服务程序实际上是被kill掉的,而不是正常的关闭。由于关机过程中服务程序一个一个关闭,一旦rsyslog关闭,HTTP日志输出到了控制台。终于搞定!!

引来 的问题:无法追溯到HTTP的程序启动日志,日志丢失了,也没有关闭日志。我们一直都不知道为什么HTTP的开始日志哪里去了?纠结了一段时间。

时间: 2024-11-06 03:02:47

rsyslog日志打印到控制台的异常的相关文章

springboot配置Log4j(将输出日志打印在控制台)

在springboot整合mybatis开发过程中,配置Log4j文件以便查看Mybatis操作数据库的过程 编辑器:IDEA 第一步:pom.xml中引入依赖(mybatis依赖和log4j2依赖) 如下: #在spring-boot-starter-web中自动配置了logging依赖,在使用Log4j时需要先排除其依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId&g

在error日志打印异常

在日志中打印异常,经常会看到以下的写法: logger.error(e.getMessage()); 或者是: e.printStackTrace(); 这两种其实都不太好. e.getMessage只会打印出异常的类型,但是不会显示出错的异常方法堆栈,无法在日志中找出错误代码 而e.printStackTrace();则是将异常打印到控制台,并不是打印到error日志中. 解决方法 看logger.error源码,可以发现: public void error(String msg, Thro

【docker】docker部署spring boot服务,但是docker logs查看容器输出控制台日志,没有日志打印,日志未打印,docker logs不打印容器日志

如题: docker部署spring boot服务,但是docker logs查看容器输出控制台日志,没有日志打印,日志未打印,docker logs不打印容器日志 场景再现: docker部署并启动了  springboot服务,容器启动正常,docker exec 也可以正常进入容器内部,但是docker logs 控制台并没有日志打印出来. 同样的,/var/lib/docker/containers目录下的对应容器目录中,也没有对应的 *-json.log日志文件生成. 原因: dock

python日志打印和写入并发简易版本实现

大家一般都用logging日志打印,但logging是线程安全的,多进程也有很多介绍,引入一些文件锁,对logging做好配置,能过支持. 但通过测试,发现多进程时还是容易出现重复写入文件或者打印正常漏写入文件的问题. 我的日志需求比较简单,能够区分文件,正确的写入日志文件. 引入文件锁:日志写入函数封装到一个操作_Logger类中: 日志名称和写入级别封装到一个业务类Logger中. 本范例基于python3实现.本范例20个进程并发,分别写入3个文件,每s每个文件写入超过100行数据,日志文

Rsyslog日志收集服务并结合Loganalyzer工具展示

一.日志概述 1.rsyslog简介 syslog是日志收集存储系统,负责记录遵守此服务的内核.程序的日志信息.一般记录为:"日期时间,主机,进程:事件".syslog不仅可以记录本地的系统日志,也可以通过tcp, udp协议记录远程主机的程序日志信息. syslog:系统日志,是一种服务,有两个进程 syslogd:记录应用程序相关的日志 klogd:记录内核相关的日志 rsyslog:是syslog的升级版,使用多线程并发记录本地或远程日志,支持存储日志信息在MySQL,PGSQL

rsyslog日志记录服务器

一.syslog系统 1.syslog:系统日志服务,统一日志管理 支持C/S架构:可通过UDP或TCP协议提供日志记录服务:实现集中收集日志功能 (1)日志.事件 历史事件日志,保存系统上过去一段时间的发生的事件 事件:系统引导启动.应用程序启动.应用程序尤其是服务类应用程序运行过程中的一些事件: (2)syslog种类 syslogd:system系统日志 klogd:kernel内核日志 2.syslog格式 事件产生的日期时间               主机        进程[pid

rsyslog日志系统浅析

Rsyslog时CentOS6.X自带的一款系统日志工具,相对与Centos5的syslog,有了很大的提升,拥有如下特性: 1.支持多线程 2.支持TCP,SSL,TLS,RELP等协议 3.支持将日志写入MySQL, PGSQL, Oracle等多种关系型数据中 4.拥有强大的过滤器,可实现过滤系统信息中的任意部分 5.可以自定义日志输出格式 6.适用于企业级的日志记录需求 今天,我们就来了解一下Rsyslog的使用以及利用loganalyzer来通过网页管理日志. 1.rsyslog的配置

rsyslog日志系统

1 rsyslog日志系统 linux上,应用程序和内核都需要记录日志.负责记录应用程序的是syslogd,记录内核的则是klogd.centos 5上使用的是syslog,但由于其功能过于薄弱和单一,在centos 6和7上被rsyslog所取代.事实上rsyslog是一个服务. 日志:历史事件的相关记录.早期时就有航海日志. 记录的内容:事件发生的时间.事件内容. 日志级别:事件的关键性程序,loglevel. 1.1 rsyslog的优势 1.支持多线程. 2.能够基于UDP, TCP, 

rsyslog日志格式介绍

rsyslog: 日志:历史日志 syslog(服务):syslogd(系统日志).klogd(内核日志) c/s架构;服务,可监听于某套接字,帮其他主机记录日志信息 日志格式 /etc/rsyslog.conf facitlity.priority Target mail.info  /var/log/maillog mail.=info         * mail.*                     -/var/log/maillog  -:表示异步写入 mail.!info