Articles of 日志

如何在Linux内核空间读取环形缓冲区?

我正在写一个Linux字符驱动程序,可以在用户空间打印系统日志。 就像命令“dmesg”一样。 我知道所有用printk打印的日志都会被发送到一个名为ring buffer的空间。 所以我有这样的问题: 内核空间内是否有环形缓冲区? 如果是这样,我怎样才能读取内核空间内的环形缓冲区? (我试过读dmesg.c的源代码,但没有帮助。)

在Linux中守护进程日志logging

所以我有一个运行在Linux系统上的守护进程,我想logging下它的活动:日志。 问题是,什么是“最好”的方式来完成这个? 我的第一个想法是简单地打开一个文件并写入。 FILE* log = fopen("logfile.log", "w"); /* daemon works…needs to write to log */ fprintf(log, "foo%s\n", (char*)bar); /* …all done, close the file */ fclose(log); 采用这种方式logging有什么天生的错误吗? 有没有更好的方法,比如一些内置于Linux的框架?

Log4j不会在删除时重新创build文件

我在Tomcat中有一个使用log4j进行日志logging的Web应用程序。 如果在Web应用程序运行时删除日志文件,则不会重新创build文件? 如何configurationlog4j重新创build删除文件,而不必重新启动Tomcat?

在linux命令行上按时间戳sorting日志文件

我有一个日志文件的条目如: … freeswitch.log:2011-09-08 12:21:07.282236 [ERR] ftdm_queue.c:136 Failed to enqueue obj 0x7f2cda3525c0 in queue 0x7f2ce8005990, no more room! windex == rindex == 58! freeswitch.log:2011-08-08 13:21:07.514261 [ERR] ftdm_queue.c:136 Failed to enqueue obj 0x7f2cda354460 in queue 0x7f2ce8005990, no more room! windex == rindex == 58! freeswitch.log:2011-06-04 16:21:08.998227 [ERR] ftdm_queue.c:136 Failed to enqueue obj 0x7f2cda356300 in queue 0x7f2ce8005990, no […]

在docker中redirect命令输出

我想为我的服务器做一些简单的日志logging,这是一个在Docker容器中运行的小型Flask应用程序。 这是Dockerfile # Dockerfile FROM dreen/flask MAINTAINER dreen WORKDIR /srv # Get source RUN mkdir -p /srv COPY perfektimprezy.tar.gz /srv/perfektimprezy.tar.gz RUN tar x -f perfektimprezy.tar.gz RUN rm perfektimprezy.tar.gz # Run server EXPOSE 80 CMD ["python", "index.py", "1>server.log", "2>server.log"] 正如你在最后一行所看到的,我将stderr和stdoutredirect到一个文件。 现在我运行这个容器和shell docker run -d -p 80:80 perfektimprezy docker exec -it "… id of container …" bash […]

使用logrotate的垃圾收集器日志(loggc)文件旋转无法正常工作

当使用Linux logrotate命令使用JVM垃圾回收日志选项时,我遇到了一个奇怪的问题。 当执行旋转时,它会将NUL(^ @)值作为参数给JVM的第一行。 假设这是java调用(Test.class位于/ home / test /): java -Xloggc:/home/test/test.log -cp / home / test / Test 该文件的logrotateconfiguration如下: /home/test/test.log { 旋转56 missingok notifempty copytruncate nocreate的 nomail } 我还有一个crontab项目logging每分钟testing的目的: * / 1 * * * * / usr / sbin / logrotate -f /etc/logrotate.d/gcLog 我得出的结论是,JVM写在追加模式,并保留用于写入下一行在相关文件中的某种偏移量,即使该文件被截断logrotate(我可能是错误的)。 我的下一个想法是尝试将stdoutredirect到test.log文件。 我用这个java调用,并保持相同的configurationlogrotate和cron: java -verbose:gc -cp / home / test / […]

截断正在使用的文件(Linux)

我有一个过程,写了很多的数据标准输出,我redirect到一个日志文件。 我想限制文件的大小偶尔将当前文件复制到一个新的名称,并截断它。 我通常的截断文件的技巧,比如 cp /dev/null file 不工作,大概是因为这个过程正在使用它。 有什么方法可以截断文件? 或删除它,并以某种方式关联进程的标准输出与一个新的文件? FWIW,这是第三方产品,我不能修改它的日志模型。 编辑redirect到该文件似乎有与上面的副本相同的问题 – 该文件将返回到其以前的大小下一次它被写入: ls -l sample.log ; echo > sample.log ; ls -l sample.log ; sleep 10 ; ls -l sample.log -rw-rw-r– 1 user group 1291999 Jun 11 2009 sample.log -rw-rw-r– 1 user group 1 Jun 11 2009 sample.log -rw-rw-r– 1 user group 1292311 Jun […]

估计NTFS卷上的USNlogging数

当首次使用USN日志时,必须使用FSCTL_ENUM_USN_DATA控制代码来枚举卷的整个USNlogging集。 这通常是一个漫长的操作。 有没有一种方法可以在运行之前估计卷上的logging数量,因此可以显示进度? 我猜测整个卷的USN数据是从MFT生成的,每个文件一个logging(大约)。 因此,估计MFT中活动文件数量的一种方法是可行的。

C#日志logging。 我应该使用什么?

我正在考虑切换到一个新的统一日志logging解决scheme,以用于我们的新产品线,我想看看Stack Overflow的一些人的想法。 我们将需要日志logging的各种应用程序:ASP .net,Windows服务,Web服务,WPF应用程序等我们只是一个窗口店。 我们对日志解决scheme的一些要求包括: 1)日志文件pipe理 – Ability to split files up over a certain size – Ability to auto archive/delete after certain period of time 2)能够发送特定types的消息logging的电子邮件(例如错误) 3)能够写消息到Windows事件日志 – We need to be able to specify where it's being written in the event log. It would also be nice if it would automatically create the […]

Tomcat作为Windows服务运行时logging

我有一个运行在Tomcat下的Web应用程序。 logging各种function是使用java.util.logging实现的。 当通过startup.bat运行tomcat时,会创build日志文件并按照预期logging日志。 当使用相同的war文件作为windows服务运行时,logging的输出实际上是不存在的。 在stdout.log和stderr.log中有一些(几乎没有)日志输出,但不是预期的。 这听起来对任何人都熟悉吗? 你采取了哪些步骤来纠正? 问候