查看和打印日志的linux命令

查看和打印日志的linux命令,第1张

Linux系统日志文件存放在/var/log下

/var/log/cron 记录了系统定时任务相关的日志;

/var/log/cups 记录打印信息的日志;

/var/log/dmesg 记录了系统在开机时内核自检的信息,也可以使用dmesg命令直接查看内核自检信息。

/var/log/btmp 记录错误登录的日志,这个文件是二进制文件,不能直接vi查看,而要使用lastb命令查看;

/var/log/lastlog 记录系统中所有用户最后一次的登录时间的日志。这个文件也是二进制文件,不能直接vi,而要使用lastlog命令查看。

/var/log/mailog 记录邮件信息;

/var/log/message 记录系统重要信息的日志,记录Linux系统的绝大多数重要信息,如果系统出现问题,首先要检查的就是应该是这个日志文件;

/var/log/secure 记录验证和授权方面的信息,只要涉及账户和密码的程序都会记录。比如说系统的登录,ssh的登录,su切换用户,sudo授权,甚至添加用户和修改用户密码;

/var/log/wtmp 永久记录所有用户的登录、注销信息,同时记录系统的启动、重启、关机事件。同样这个文件也是一个二进制文件不能直接vi而需要使用last命令来查看;

/var/run/utmp 记录当前已经登录的用户的信息。这个文件会随着用户的登录和注销而不断变化,只记录当前登录用户的信息,同样这个文件不能直接vi,要使用w,who,users等命令;

在Linux系统中,使用System.out.println()方法打印日志并不一定会生效,因为System.out.println()是一种Java语言的标准输出,而Linux系统可能会将其输出重定向到其他地方,因此日志不会显示在控制台上。为了解决这个问题,可以使用Log4j等日志框架来记录日志,这样就可以将日志输出到指定的文件中,从而达到记录日志的目的。

将日志写到文件中去,在到文件中去看日志

例如:

int

mig_log(fmt,va_alist)

char

*fmt

va_dcl

{

va_list

ap

FILE

*fp

char

log_file[81]

struct

tm

*p_tm

time_t

clock

ap=(char

*)&va_alist

time(&clock)

p_tm=localtime(&clock)

sprintf(log_file,"%s/mig_%4d%.2d%.2d.log",

getenv("HOME"),

p_tm->tm_year+1900,

p_tm->tm_mon+1,

p_tm->tm_mday)

fp=fopen(log_file,"at")

if(fp==(FILE

*)0)

{

fprintf(stderr,"mig_err_log():can't

open

the

file

%s

!\n",log_file)

return

}

fprintf(fp,"%.2d/%.2d/%4d

%.2d:%.2d:%.2d

",

p_tm->tm_mon+1,\

p_tm->tm_mday,\

p_tm->tm_year+1900,\

p_tm->tm_hour,\

p_tm->tm_min,\

p_tm->tm_sec)

vfprintf(fp,fmt,ap)

fclose(fp)

}

这个就是写日志的函数

你这样调用:mig_log("日志开始[%s]->[%d]\n",__FILE__,__LINE__)

mig_log("日志开始!\n")都可以的


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11846221.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存