我正在尝试配置Tomcat和webapp(Atlassian JIRA)以通过syslog记录所有内容.
这是我添加到webapp log4j.properties(atlassian-jira/WEB-INF/classes/log4j.properties)的内容:
log4j.rootLogger=WARN, syslog
log4j.appender.syslog=org.apache.log4j.net.SyslogAppender
log4j.appender.syslog.facility=LOCAL0
log4j.appender.syslog.layout.ConversionPattern=%-5p [%t] [%c]: %m%n
log4j.appender.syslog.layout=org.apache.log4j.PatternLayout
log4j.appender.syslog.SyslogHost=my.syslog.server.fqdn
Run Code Online (Sandbox Code Playgroud)
但是,没有任何内容通过syslog发送.我在端口514上嗅出了传出的数据包,没有任何内容出现.
谢谢你的帮助!
我已修改配置rsyslogd
以禁用RSYSLOG_TraditionalFileFormat
.但是,apache日志仍然/var/log/apache/error.log
只显示第二个精确度.
还有其他需要配置的东西吗?
我正在使用 log4j syslog 附加程序,并注意到当发生异常时,附加程序将堆栈跟踪中的每个条目写入新行。
有没有一种方法可以对其进行配置,以便整个堆栈跟踪将作为一行而不是多行?
我需要在syslog守护进程生成的日志消息中记录年份.特别是在/ var/log/secure文件中.可能吗?
这是正常系统日志消息的示例:
Feb 16 04:06:58 HOST sshd[28573]: Accepted password for USER from SOURCE port 7269 ssh2
Run Code Online (Sandbox Code Playgroud)
我需要类似的东西:
Feb 16 2011 04:06:58 HOST sshd[28573]: Accepted password for USER from SOURCE port 7269 ssh2
Run Code Online (Sandbox Code Playgroud)
提前致谢.
我有一个计划在crontab上运行的脚本.我注意到我无法在任何地方看到php错误.我希望能够在/ var/log/syslog或其他地方看到php错误.我已经尝试配置我的php.ini来记录/var/log/php-errors.log上的错误,检查权限并重新启动apache服务仍然没有日志.
我无法将日志消息写入syslog.任何帮助都会很棒.这是我简单的log4j程序
import org.apache.log4j.Logger;
import java.io.*;
import java.sql.SQLException;
import java.util.*;
public class log4jExample
{
/* Get actual class name to be printed on */
static Logger log = Logger.getLogger(log4jExample.class.getName());
public static void main(String[] args) throws IOException,SQLException
{
log.error("Hello this is an error message");
log.info("Hello this is an info message");
log.fatal("Fatal error message");
}
}
Run Code Online (Sandbox Code Playgroud)
我的syslog属性文件
# configure the root logger
log4j.rootLogger=INFO, SYSLOG
# configure Syslog facility LOCAL1 appender
log4j.appender.SYSLOG=org.apache.log4j.net.SyslogAppender
log4j.appender.SYSLOG.threshold=WARN
log4j.appender.SYSLOG.syslogHost=localhost
log4j.appender.SYSLOG.facility=LOCAL4
log4j.appender.SYSLOG.layout=org.apache.log4j.PatternLayout
log4j.appender.SYSLOG.layout.conversionPattern=[%p] %c:%L - %m%n
Run Code Online (Sandbox Code Playgroud) 无论如何我们可以更改syslog记录的特定日志文件中的日期格式吗?我不想改变记录所有日志的方式,而只是改变日志文件.
编辑:我正在使用syslogd(在FreeBSD中)
这就是我的文件现在的样子:
Dec 5 07:52:10 Log data 1
Dec 5 07:52:10 Log data 2
Dec 5 07:52:10 Log data 3
Run Code Online (Sandbox Code Playgroud)
这就是我希望它看起来像:
20131205 07:52:10 Log data 1
20131205 07:52:10 Log data 2
20131205 07:52:10 Log data 3
Run Code Online (Sandbox Code Playgroud)
我的syslog.conf看起来像这样,其中/var/log/my_log.log是我的日志文件:
+@
*.notice;local0.none;local1.none;local2.none;authpriv.none;kern.debug;mail.crit;news.err /var/log/messages
security.* /var/log/security
auth.info;authpriv.info /var/log/auth.log
mail.info /var/log/maillog
ftp.info /var/log/xferlog
cron.* /var/log/cron
*.=debug /var/log/debug.log
console.info /var/log/console.log
local1.info /var/log/my_log.log
Run Code Online (Sandbox Code Playgroud) 使用OS X 10.10.4上的Python 3.5,我]
在输出系统日志消息中得到虚假字符.这可以通过以下示例程序看到:
#!/usr/bin/env python3
import logging
import logging.handlers
logger = logging.getLogger('test')
syslog_handler = logging.handlers.SysLogHandler(address='/var/run/syslog')
syslog_formatter = logging.Formatter('[{process}] {message}', style='{')
syslog_handler.setFormatter(syslog_formatter)
logger.addHandler(syslog_handler)
logger.error("Test : ABC")
Run Code Online (Sandbox Code Playgroud)
如果我运行这个,我看到syslog输出如下:
Dec 16 12:38:33 mymachinename [76399] Test]: ABC
Run Code Online (Sandbox Code Playgroud)
(注意之后的虚假]
角色Test
).
如果我稍微更改格式化程序字符串以删除初始[
字符,则附加]
消失.但是,我希望这个文字字符出现在格式化的字符串中(即使它不在格式化字符串的开头,我也有同样的问题).
为什么会]
出现这种虚假现象,我该如何避免呢?
OS X asl.conf
是配置日志记录的地方,如下所示.我没有修改默认值:
##
# configuration file for syslogd and aslmanager
##
# authpriv messages are root/admin readable
? [= Facility authpriv] access 0 80
# remoteauth critical, alert, and …
Run Code Online (Sandbox Code Playgroud) 我安装tutum/ubuntu
在本地vm的docker中.
当我登录ubuntu
并运行下面的命令.
logger "Test Logging"
Run Code Online (Sandbox Code Playgroud)
我找不到在哪里这个记录在文件中,在我的本地系统,我可以看到system.log
或syslog
或messages
文件/var/log
.但是当我检查/var/log
容器时,我找不到这样的文件.
root@fbc4ae457ad9:~# ls -al /var/log/
total 316
drwxrwxr-x 6 root syslog 4096 Jun 20 16:49 .
drwxr-xr-x 16 root root 4096 Jun 20 16:42 ..
-rw-r--r-- 1 root root 9174 Mar 17 15:17 alternatives.log
drwxr-xr-x 2 root root 4096 Mar 17 15:17 apt
-rw-r--r-- 1 root root 47816 Mar 15 04:34 bootstrap.log
-rw-rw---- 1 root utmp 768 Jun 20 16:49 btmp …
Run Code Online (Sandbox Code Playgroud) 我通常将应用程序作为docker容器运行,因为它具有很高的灵活性和可用性 有没有办法将容器日志放入我的logstash服务器.