journalctl — 检索 systemd 日志

journalctl 可用于检索 systemd(1) 日志(由 systemd-journald.service(8) 记录)。

如果不带任何参数直接调用此命令, 那么将显示所有日志内容(从最早一条日志记录开始)。

如果指定了 [MATCHES...] 参数, 那么输出的日志将会按照 [MATCHES...] 参数进行过滤。 MATCHE 必须符合 "FIELD=VALUE" 格式 (例如 "_SYSTEMD_UNIT=httpd.service" ), 参见 systemd.journal-fields(7) 手册以了解日志字段的详细介绍。 如果有多个不同的字段被 [MATCHES...] 参数匹配, 那么这些字段之间使用"AND"逻辑连接, 也就是,日志项必须同时满足全部字段的匹配条件才能被输出。 如果同一个字段被多个 [MATCHES...] 参数匹配, 那么这些匹配条件之间使用"OR"逻辑连接, 也就是对于同一个字段,日志项只需满足任意一个匹配条件即可输出。 最后, "+" 字符可用作 [MATCHES...] 组之间的分隔符,并被视为使用"OR"逻辑连接。 也就是,MATCHE1 MATCHE2 + MATCHE3 MATCHE4 MATCHE5 + MATCHE6 MATCHE7 相当于 ( MATCHE1 MATCHE2 ) OR ( MATCHE3 MATCHE4 MATCHE5 ) OR ( MATCHE6 MATCHE7 )

还可以使用绝对路径作为参数来过滤日志。 绝对路径可以是普通文件,也可以是软连接, 但必须指向一个确实存在的文件。 如果路径指向了一个二进制可执行文件, 那么它实际上相当于是一个对 "_EXE=" 字段的匹配(仅匹配完整的绝对路径)。 如果路径指向了一个可执行脚本, 那么它实际上相当于是一个对 "_COMM=" 字段的匹配(仅匹配脚本的文件名)。 如果路径指向了一个设备节点, 那么它实际上相当于是一个对 "_KERNEL_DEVICE=" 字段的匹配(匹配该设备及其所有父设备的内核设备名称)。 在查询时, 软连接会被追踪到底,内核设备名称将被合成, 父设备将按照当时的实际情况被提列出来。 因为日志项一般并不包含标记实际物理设备的字段, 所以,设备节点一般就是实际物理设备的最佳代表。 但是又因为设备节点与物理设备之间的对应关系在系统重启之后可能会发生变化, 所以,根据设备节点过滤日志仅对本次启动有意义, 除非你能确认对应关系在重启之后保持不变。

可以使用 --boot--unit= 等选项 进一步附加额外的约束条件(相当于使用"AND"逻辑连接)。

最终的输出结果来自所有可访问的日志文件的综合, 无论这些日志文件是否正在滚动或者正在被写入, 也无论这些日志文件是属于系统日志还是用户日志, 只要有访问权限,就会被包括进来。

用于提取日志的日志文件的集合可以使用 --user--system--directory--file 选项进行筛选。

每个用户都可以访问其专属的用户日志。 但是默认情况下, 只有root用户以及 "systemd-journal", "adm", "wheel" 组中的用户才可以访问全部的日志(系统与其他用户)。 注意,一般发行版还会给 "adm" 与 "wheel" 组一些其他额外的特权。 例如 "wheel" 组的用户一般都可以执行一些系统管理任务。

默认情况下,结果会通过 less 工具进行分页输出, 并且超长行会在屏幕边缘被截断。 不过,被截掉的部分可以通过左右箭头按键查看。 如果不想分页输出,那么可以使用 --no-pager 选项,参见下面的"环境变量"小节。

如果是输出到 tty 的话,行的颜色还会根据日志的级别变化: ERROR 或更高级别为红色,NOTICE 或更高级别为高亮,其他级别则正常显示。

常用命令

journalctl -xe

打印从2019-08-22 11:00:00后面的日志

journalctl --since "2019-08-22 11:00:00"

参考文献: http://www.jinbuguo.com/systemd/journalctl.html

linxu 查看运行日志的更多相关文章

  1. linxu 查看python解释器或者c/c++编译器的位置

    ubuntu环境下python相关ide的python解释器,它的默认位置在: usr/bin/python gcc和g++分别位于 usr/bin/gcc usr/bin/g++ 也可以用which ...

  2. linux下打开、关闭tomcat,实时查看tomcat运行日志

    启动:一般是执行sh tomcat/bin/startup.sh 停止:一般是执行sh tomcat/bin/shutdown.sh脚本命令 查看:执行ps -ef |grep tomcat 输出如下 ...

  3. ubuntu下启动、关闭tomcat,查看tomcat运行日志

    启动:一般是执行sh tomcat/bin/startup.sh 停止:一般是执行sh tomcat/bin/shutdown.sh查看:执行ps -ef |grep tomcat 输出如下 *** ...

  4. linux下重启tomcat、实时查看tomcat运行日志

    在Linux系统下,重启Tomcat使用命令操作的! 首先,进入Tomcat下的bin目录 cd /usr/local/tomcat/bin 使用Tomcat关闭命令 ./shutdown.sh 查看 ...

  5. linux下实时查看tomcat运行日志 2017.12.4

    1.先切换到:cd usr/local/tomcat5/logs 2.tail -f catalina.out 3.这样运行时就可以实时查看运行日志了

  6. Centos打开、关闭、结束tomcat,及查看tomcat运行日志

    cd到tomcat目录下之后 启动:一般是执行sh bin/startup.sh 停止:一般是执行sh bin/shutdown.sh查看:执行ps -ef |grep tomcat 输出如下 *** ...

  7. linux查看tomcat启动运行日志

    1.先切换到:cd tomcat/logs 2.tail -f catalina.out 3.这样运行时就可以实时查看运行日志了

  8. 【Tomcat】linux下实时查看tomcat运行日志

    今天在部署一个项目到linux服务器的时候一直报错,可是在日志文件中也没有记录.但是在本地测试的时候都没有错误,在windoesServer服务器上也没错误,实在找不到原因,因此想的实时查看tomca ...

  9. linux下tomcat服务器的启动和关闭以及查看实时打印日志

    本页面中的操作都在tomcat的bin目录下 <一> 一般我都是使用: ./shutdom.sh //关闭tomcat ./startup.sh //开启tomcat服务 <二> ...

随机推荐

  1. 安装uiautomator2 + python 自动化环境

    搭建环境: 1.Python版本 37 2.已经搭建到adb (之前试过在python版本几,一直都装不上UIautomator2,报这个错) 安装步骤: 1.到python的安装路径 > 一直 ...

  2. vue中把一个事件绑定到子组件上

    官网上是这样描述的 你可能有很多次想要在一个组件的根元素上直接监听一个原生事件.这时,你可以使用 v-on的 .native 修饰符 父组件App.vue <template> <d ...

  3. java 短路与(||)时报错The operator || is undefined for the argument type(s) int, boolean

    今天在使用短路与时,报错The operator || is undefined for the argument type(s) int, boolean 代码如下: 最后发现是少了一个=,比较要使 ...

  4. spring security 继承 WebSecurityConfigurerAdapter 的重写方法configure() 参数 HttpSecurity 常用方法及说明

    HttpSecurity 常用方法及说明 方法 说明 openidLogin() 用于基于 OpenId 的验证 headers() 将安全标头添加到响应 cors() 配置跨域资源共享( CORS ...

  5. Windows 10 如何在当前位置打开 CMD 命令窗口?

    方法一 Win + R 键召唤出运行窗口,然后输入 "CMD" 打开命令提示符. 使用 cd 命令更改当前命令提示符的工作环境. 注释 cd/ - 退到当前所在盘符 cd.. - ...

  6. Servlet初级学习加入数据库操作(二)

    源代码地址:https://url56.ctfile.com/f/34653256-527822631-2e255a(访问密码:7567) 将页面中的数据逐步替换为数据库管理 准备一个连接数据库的类 ...

  7. 【Java】main方法的理解

    main方法的理解 main()方法作为程序的入口 main()方法也是一个普通的静态方法 main()方法可以作为我们与控制台交互的方式.(之前:使用Scanner) main方法中的参数args就 ...

  8. [开发笔记usbTOcan]PyUSB访问设备

    前面的几个章节的介绍,基本把usbTOcan的底层代码设计好,现在需要介绍PC端的PyUSB进行简单的测试. 在文章开始之前,需要简单的介绍一下整个系统. 0 | 部署 这里使用了两块TM4C123G ...

  9. 【笔记】直接使用protocol buffers的底层库,对特定场景的PB编解码进行处理,编码性能提升2.4倍,解码性能提升4.8倍

    接上一篇文章:[笔记]golang中使用protocol buffers的底层库直接解码二进制数据 最近计划优化prometheus的remote write协议,因为业务需要,实现了一个remote ...

  10. 【记录一个问题】用毫无用处的方法解决了libtask的asm.S在ndk下编译的问题

    昨天提到,libtask中的asm.S使用的是ARM 32位的语法,因此在ARM 64下无法编译通过. 于是查了一下资料,改写了一下汇编代码,使得可以在64位下编译通过.源码如下 #if define ...