Articles of 日志logging

如何编写写入/ var / log / myapp目录的C / C ++应用程序?

背景 在Linux系统上, 应用程序日志存在于/var/log子目录中,该root/root由root/root拥有,在我的系统上拥有755个权限。 例如,我看到/var/log/mysql和/var/log/samba 。 题 如果我想让一个myapp能够写入/var/log/myapp ,在C / C ++中完成此操作的规范方式是什么? 思考 如果我不想sudo a_setup_script.sh我必须像setuid root那样做一些疯狂的sudo a_setup_script.sh吗? 请注意,我知道syslog例程,但它们不足以满足我的需要(我需要logging更多的信息,分成不同的文件,因此需要子目录)。 我是否需要查看一下Ubuntu打包(设置目录)和将文件IO直接导入子目录(通过myapp )? 我想尽可能遵循标准。 附录 我忘了提及, myapp实际上是一个守护进程(一个监听客户端的服务器),所以如果有一个myapp_user实际运行/启动进程,那么这个进程并不是那么糟糕。 回答 对于Ubuntu,最好的解决scheme似乎是rsyslog ,这是一个function强大,现代化的syslog替代品。 它将根据需要生成文件/目录,它具有用于灵活路由syslog条目的内置语言,并且在C / C ++级别使用简单的旧syslog API。 要存储路由信息,您可以在C / C ++中定义自己的文本消息编码,并配合正确的rsyslog.conf来处理解码。

Vim命令logging

是否有可能logging下我在VIM中input的所有命令以供以后分析? 我的意思是每个简单的命令就像运动或改变文本,即jjjjjjkkkcw<newword> 如果在VIM中是不可能的,也许在linux上有一个键盘logging器,可以连接到特定的窗口/进程? 我更喜欢in-vim日志logging,因为它可以有不同的日志为不同的vim模式的选项。 另外我不想logging“冒号”命令。

测量来自Apache访问日志的stream量

有没有什么办法可以测量一个Apache日志文件中有多lessstream量? 格式: 66.249.72.214 – – [05/Nov/2011:12:47:37 +0200] "GET /produktas/565638 HTTP/1.1" 200 4699 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" 我如何理解4699是不包括头文件传输的字节。 我需要一个简单的解决scheme(也许是一个小bash脚本)来总结每个日志的行中的字节。

PHP日志文件的颜色

我正在写一个PHP日志文件类,但我想添加颜色到写入文件的行。 我遇到的问题是颜色也改变了terminal的颜色,我想实现的只是改变写入日志文件的行的颜色。 class logClass extends Singleton { private function checkDate() { return date("onSj"); } public function logNotice($str) { $this->write($str, "\033[33m"); } public function write($string, $color) { $fileName = $this->checkDate(); $handle = fopen('error.log', 'a'); fwrite($handle, "$color" . date("Ymd H:i:s") . $string . "\n"); fclose($handle); } }

如何使用给定的模式来追踪最新的日志文件

我使用一些日志系统,每小时创build一个日志文件,如下所示: SoftwareLog.2010-08-01-08 SoftwareLog.2010-08-01-09 SoftwareLog.2010-08-01-10 我试图尾随遵循最新的日志文件给出一个模式(例如SoftwareLog *),我意识到有: tail -F (tail –follow=name –retry) 但只有一个特定的名称 – 这些名称按date和小时不同。 我尝试了这样的: tail –follow=name –retry SoftwareLog*(.om[1]) 但通配符语句在传递到尾部之前被消除,并且每次尾部重试都不会重新执行。 有什么build议么?

如何在Ubuntu中的后台进程中获取数据

我find一个Ubuntu OS命令,即使程序在后台,程序也可以从键盘读取数据。 我试图search很多,但没有成功。 如果任何Ubuntu / Linux程序员知道让程序这样做的操作系统命令,请与我分享。 我是Ubuntu编程的初学者。

禁用Apache日志access.log

我一直在阅读关于禁用Apache服务器的日志logging,这对我来说是非常重要的,因为我正在对它进行大量testing,并且它会填充磁盘。 我试过改变http.conf,并把东西引导到/ dev / null,但没有一个工作,因为它大部分是错误日志logging。 任何想法的人? 谢谢

每次按下某个键(不pipe哪个窗口都有焦点),函数callback?

我想在Linux(Ubuntu Linux 9.10)上编写一个程序(在python中),它将logging我每秒/分钟的按键次数。 这包括正常的字母键和控制/移位/空格等。 有没有办法挂钩到X,以便我可以说“当按下一个键时调用这个函数?”。 由于我想在正常工作的时候在后台运行这个函数,因此这个函数调用必须能够知道所有程序的所有按键。 我想这有点像键盘logging。 这只是一个私人的事情,所以我不在乎使它在Windows / OSX上工作,我不关心什么时候有人喜欢远程X会话等。

附加到进程输出以供查看

我将如何“附加”一个控制台/terminal – 视图到应用程序的输出,所以我可以看到它可能是什么意思? 我将如何从应用程序输出中分离而不会中止应用程序? 通常情况下,如果你使用命令行启动一个健谈的应用程序,你会看到各种奇妙的输出。 然而,让我们说我有一个特别健谈的编程运行就像KINO一样,我想在任何时候查看它的输出,而不用通过命令行重新启动它,至less我不知道如何。

在C / C ++中捕获GNU / Linux中的击键

如果我在一个应用程序中工作,我按键盘上的键,我怎么可以捕捉该键(或string),包括源代码的应用程序的名称,在GNU / LINUX下,在用户空间C,没有X11 🙂 谢谢。