/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")都可以的
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)