我在使用 compiz 和双显示器时遇到了一些问题(请参阅为什么视觉效果不适用于双显示器设置),我想检查 compiz 日志文件以查看可能会发生什么导致它停止工作,但我不确定 compiz 将其错误消息记录到何处。
我正在尝试为我在 Google Chrome 中遇到的某个错误捕获日志。但是,我找不到/启用 GC 的日志。
根据这个 Chromium项目页面,我只需要添加标志--enable-logging --v=1,一个 chrome_debug.log 文件将出现在我的用户数据目录中。但是,在运行 GC(并通过“X”标题栏按钮关闭)后,指定目录中没有 chrome_debug.log 文件。我什至尝试以 root 身份运行,因为它可能与写入权限有关,但 GC 拒绝以 root 身份启动。
另一件事,GC 在从命令行调用时也会打印消息。我尝试捕获它并将它们重定向到一个文件,$ google-chrome > today.log但消息仍打印在命令行中,并且我指定的文件已创建但仍为空。
请注意,我不能在我的错误发生后只是复制粘贴终端上打印的消息,因为错误会冻结我的整个系统,当它发生时,我唯一的选择是直接通过电源按钮关闭我的计算机。我已经看到一些类似的错误已经发布,但我发现它们并没有完全描述我的情况,所以我真的很想为此获取一些日志。
那么如何启用日志记录,或者至少在文件中获取这些终端消息?
我查看了(快速阅读)Apache 模块 mod_log_config并且无法弄清楚 apache2 默认日志格式是什么以及在哪里定义它。任何的想法?
请注意,什么是
/etc/apache2/conf.d/other-vhosts-access-log
不是默认选项而是全局选项。
我有几个不同的解决方案来运行自定义系统日志服务器(基于https://gist.github.com/marcelom/4218010)。
我面临的问题是以下命令不会向服务器发送 UDP 数据包:
logger -n 127.0.0.1 -P 514 "Test message"
Run Code Online (Sandbox Code Playgroud)
我是否正确发送了测试消息?
关于我做错了什么的任何想法?脚本显然应该可以工作,但我无法确认它们在测试期间是否工作。
编辑:我确认系统日志接收器确实正在接收使用 UDP 协议发送的消息。因此,我也澄清了删除这篇文章的问题。
我想更好地了解哪些程序在重新启动期间正在修改特定文件1。我可以设置一些东西来记录这种信息吗?
轮询当前打开文件的进程将不起作用,因为文件可能只打开几毫秒。
可以使用内核跟踪来收集这些信息吗?
1 /var/lib/alsa/asound.state如果您很好奇,但我对通用解决方案感兴趣。
我使用 vnc4server 运行 vncserver。
我看看 ~/.vnc/ubuntu:1.log
它只显示这样的东西。
Sat Oct 6 20:40:12 2012
Connections: accepted: 0.0.0.0::2043
SConnection: Client needs protocol version 3.8
SConnection: Client requests security type VncAuth(2)
Sat Oct 6 20:40:14 2012
SConnection: AuthFailureException: Authentication failure
Connections: closed: 0.0.0.0::2043 (Authentication failure)
Sat Oct 6 20:40:16 2012
Connections: accepted: 0.0.0.0::2048
SConnection: Client needs protocol version 3.8
SConnection: Client requests security type VncAuth(2)
Run Code Online (Sandbox Code Playgroud)
如何找到连接的vnc客户端的IP?
当我将 USB 鼠标插入计算机时,日志中出现以下错误:
Mar 24 21:43:03 homer kernel: [ 2674.768039] usb 2-9: new full-speed USB device number 3 using ohci_hcd
Mar 24 21:43:03 homer kernel: [ 2674.952050] usb 2-9: device descriptor read/64, error -62
Mar 24 21:43:03 homer kernel: [ 2675.236034] usb 2-9: device descriptor read/64, error -62
Mar 24 21:43:03 homer kernel: [ 2675.516035] usb 2-9: new full-speed USB device number 4 using ohci_hcd
Mar 24 21:43:04 homer kernel: [ 2675.696042] usb 2-9: device descriptor read/64, error -62
Mar …Run Code Online (Sandbox Code Playgroud) 我想分析我在日常打字中按某个键的频率,因此我想设置对我的键盘的跟踪。(也可能是我被质疑我最常按下的键是退格键,我想用确凿的事实来反驳这一点。)
我对完整的字符串不感兴趣,这些字符串不应该存储在磁盘上的任何地方。我正在寻找的不是一个完整的键盘记录器,最好避免黑帽用例。
我的快速搜索提出了:
xinput --test-xi2
Run Code Online (Sandbox Code Playgroud)
然而这是非常原始的:
EVENT type 13 (RawKeyPress)
device: 3 (12)
detail: 37
valuators:
EVENT type 13 (RawKeyPress)
device: 3 (12)
detail: 54
valuators:
Run Code Online (Sandbox Code Playgroud)
我必须自己实施统计数据。
有什么办法可以让我按下按键的统计数据吗?
进一步的搜索让我偶然发现了krefreq,但我还没有深入研究它。
在 Ubuntu 18.04 上同时安装了 journald 和 rsyslog。两者都用于收集日志消息并存储它们的相同目的。所以我们有两个程序在这里做同样的工作。
我能发现的是,journald 只将日志消息保存在它自己的日志文件中,可以使用该journalctl命令进行查询。没有写入可读文件。此外,journal 将始终从 systemd 启动的所有服务中收集日志输出,这些服务应该始终是所有服务,因为最终 systemd 甚至从较旧的方案(如 init 脚本)启动所有进程。
Rsyslog 还通过一些套接字接收日志消息,就像过去 50 年左右的 syslog 一样工作。应用程序必须将它们的消息发送到该套接字,而 rsyslog 将接收它们。不确定 journald 实际如何接收任何东西。然后 rsyslog 根据其配置将这些接收到的消息转发到不同的可读文件中。
在 Ubuntu 中,两者都安装了但似乎没有连接。至少 rsyslog 不会加载“imjournal”模块,它可以用来“读取”journald 中的日志消息。我不明白 rsyslog 如何(主动)读取任何东西,我认为它只是(被动)接收消息。但无论如何它都没有使用它。
文件 /var/log/syslog 包含的内容与 显示的大致相同journalctl,只是sudo文件中缺少的输出。但我还没有全部比较。
那么这是如何工作的呢?谁将日志消息发送到哪里,谁接收它们以及将它们转发到哪里?如果两个目的地都填满了,是否每个应用程序都必须分别向 syslog 和 journald 发送消息?如果它们是相互关联的,为什么没有消息重复?是不是又被过滤掉了?哪个位置更完整,如果我想要完整的图片应该在哪里看?
如果这在较新版本的 Ubuntu 中发生了任何变化,我也会对此感兴趣,因为明年我要将旧服务器切换到 20.04。
编辑:以下是有关该主题的更多资源:
所有这些信息让我有点困惑。似乎日志首先从系统调用接收所有系统日志数据(我的 /dev/log 指向 /run/systemd/journal/dev-log),并且 rsyslog 通过一个看起来像套接字的套接字从日志中获取它在有日志之前使用过的(可能是 …