免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3365 | 回复: 10
打印 上一主题 下一主题

奇怪,Solaris下用syslog写不进消息? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-03-28 12:37 |只看该作者 |倒序浏览
我想在UNIX下找到一个类似于Windows2000下控制面板-〉管理工具-〉事件查看器的一种机制,通过此我能查看到操作系统上运行的应用程序,尤其是自己编的应用程序产生的消息,消息内容包括(消息ID、产生时间、主机名、消息来源、详细描述等)。这样便于管理。

于是我在UNIX下找到了syslog()函数,并用此编了一个小程序,如下:
-------------------------------------------------------------------------
/*test.c*/
#include <syslog.h>;

void main(void)
{
syslog(LOG_USER|LOG_ERR, "syslog program testing";
}
-------------------------------------------------------------------------

程序在Solaris编译运行,结果在var/adm/messages文件最后找到有一条记录:
Month Date hh:mm:ss 主机名 test[PID]:
显然消息已经写进了messages文件,但是该消息不完全,完整的消息应该是
Month Date hh:mm:ss 主机名 test[PID]:syslog program testing

所以我想请教各位高手,为何没有把"syslog program testing"这部分内容写进messages文件,如何解决该问题?急!

/etc/syslog.conf文件中已经设置了:
*.err /var/adm/messages
空格的地方使用tab键连接。

先谢了!

论坛徽章:
0
2 [报告]
发表于 2003-03-28 13:01 |只看该作者

奇怪,Solaris下用syslog写不进消息?

你的程序在我的solaris上运行没问题呀。
在/var/adm/messages文件中打印的是
Mar 28 12:52:53 bj157 syslog.test[1731]: [ID 575889 user.error] syslog program testing

我的syslog.conf是这样写的

*.err;kern.notice;auth.notice                   /dev/sysmsg
*.err;kern.debug;daemon.notice;mail.crit        /var/adm/messages

*.alert;kern.err;daemon.err                     operator
*.alert                                         root

*.emerg                                         *

ifdef(`LOGHOST', ,
user.err                                        /dev/sysmsg
user.err                                        /var/adm/messages
user.alert                                      `root, operator'
user.emerg                                      *
)

论坛徽章:
0
3 [报告]
发表于 2003-03-28 13:22 |只看该作者

奇怪,Solaris下用syslog写不进消息?

日志守护线程有没有打开
还有日志文件配置也要检查一下

论坛徽章:
0
4 [报告]
发表于 2003-03-28 13:41 |只看该作者

奇怪,Solaris下用syslog写不进消息?

首先先谢谢精灵王liupch和版主无双的指教。

按照两位说的,我首先检查了syslog.conf的配置,与liupch机器上的是一样的,除了在
ifdef(`LOGHOST', ,
user.err /dev/sysmsg
user.err /var/adm/messages
user.alert `root, operator'
user.emerg *
这句前有一句
mail.debug ifdef(`LOGHOST', /var/log/syslog, @loghost)
我想这应该不影响大碍吧?
另外我想知道liupch的/var/adm/messages文件打印的
Mar 28 12:52:53 bj157 syslog.test[1731]: [ID 575889 user.error] syslog program testing,
这syslog怎么会上去的,而在我的机器上则只有test,而不是syslog.test
另外我看liupch是搞UNIX监控的,对此我也很感兴趣,能否留下email进一步探讨?

无双版主建议检查syslogd是否打开,我是用ps -ef命令,能查到syslogd正在运行,另外您说的检查日志文件配置,这指的是syslog.conf?

还请两位费神关心,其他大侠不吝赐教,谢谢。

论坛徽章:
0
5 [报告]
发表于 2003-03-28 13:52 |只看该作者

奇怪,Solaris下用syslog写不进消息?

我的小程序是否要在root权限下运行?

论坛徽章:
0
6 [报告]
发表于 2003-03-28 15:27 |只看该作者

奇怪,Solaris下用syslog写不进消息?

首先,我的程序就是使用普通用户执行的。
其次,我的syslog中显示的是syslog.test是因为我的那个程序的名字叫syslog.test
第三,如果你的syslog还是写不进去,那么你尝试一下重新启动syslog这个服务进程。在root状态下
kill -HUP

论坛徽章:
0
7 [报告]
发表于 2003-03-28 16:53 |只看该作者

奇怪,Solaris下用syslog写不进消息?

按照你的建议都试了,都不管用。

论坛徽章:
0
8 [报告]
发表于 2003-03-28 17:15 |只看该作者

奇怪,Solaris下用syslog写不进消息?

最后加"\n"
没什么别的办法了,
瞎试试吧!

论坛徽章:
0
9 [报告]
发表于 2003-03-28 23:23 |只看该作者

奇怪,Solaris下用syslog写不进消息?

还是不行

论坛徽章:
0
10 [报告]
发表于 2003-03-29 01:28 |只看该作者

奇怪,Solaris下用syslog写不进消息?

logger –p user.err  "syslog program testing"
你看看这个命令有用吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP