标签: syslog

Logback的Syslog Appender

我已经在syslog appender上多次阅读了logback的文档.我的印象是系统日志守护程序在每台计算机上运行,​​所以我设置配置就像在他们的示例中一样.当我运行程序时,在检查系统日志时没有发生错误,那里没有记录任何内容.

<appender name="SYSLOG" class="ch.qos.logback.classic.net.SyslogAppender">
  <syslogHost>my ip adress</syslogHost>
  <facility>USER</facility>
  <suffixPattern>[%thread] %logger %msg</suffixPattern>
</appender>`
Run Code Online (Sandbox Code Playgroud)

syslog logback slf4j appender

7
推荐指数
1
解决办法
5337
查看次数

制作一个24/7运行并从命名管道读取的Perl守护程序

我正在尝试使用perl制作日志分析器.分析器将在AIX服务器的后台运行24/7,并从syslog将日志定向到的管道(从整个网络)读取.基本上:

logs from network ----> named pipe A -------->   | perl daemon
                  ----> named pipe B -------->   | * reads pipes
                  ----> named pipe c -------->   | * decides what to do based on which pipe
Run Code Online (Sandbox Code Playgroud)

因此,例如,我希望我的守护程序能够配置为mail root@domain.com写入的所有日志named pipe C.为此,我假设守护进程需要有一个哈希(perl的新内容,但这似乎是一个合适的数据结构),它可以在运行中进行更改并告诉它如何处理每个管道.

这可能吗?或者我应该创建一个.conf文件/etc来保存信息.像这样的东西:

namedpipeA:'mail root@domain.com'
namedpipeB:save:'mail user@domain.com'
Run Code Online (Sandbox Code Playgroud)

所以从中获取任何东西A将被邮寄到,root@domain.com并且所有内容都B将保存到日志文件中(通常是这样)并且它将被发送到user@domain.com

看到这是我第一次使用Perl和我第一次创建一个守护进程,我是否仍然坚持KISS校长这样做?还有,我应该遵守哪些惯例?如果您在回复时可以考虑到我缺乏知识,那将是最有帮助的.

perl daemon syslog named-pipes

7
推荐指数
1
解决办法
5438
查看次数

Log4j和syslogappender

我有一个使用log4j SyslogAppender(facility = USER)的java应用程序,我可以看到在端口514上使用tcpdump我的应用程序正在发送预期的日志消息作为数据报,netstat也向我显示syslogd(red hat)正在运行并正在监听0.0 .0.0:514但我没有在/ var/log/messages中看到任何日志记录.

在我的syslog.conf中,我有

*.info         /var/log/messages
Run Code Online (Sandbox Code Playgroud)

我对SyslogAppender的转换模式是

%d{MMM dd HH:mm:ss} %F %L %5p [%t] %m %n"
Run Code Online (Sandbox Code Playgroud)

我无能为力,为什么它没有记录或我应该在哪里找到什么是失败的.我没有足够的权限在机器上启动/停止syslogd或手动运行以启用详细的调试日志.

有关我如何进行的任何指示?

编辑:

下面的Appender

private void initSyslog() { 
    SyslogAppender syslogAppender = new SyslogAppender();   
    syslogAppender.setName("syslog");
    syslogAppender.setLayout(new PatternLayout("%d{MMM dd HH:mm:ss} %F %L %5p [%t] %m %n")); 
    syslogAppender.setFacility("USER"); 
    syslogAppender.setFacilityPrinting(true);
    syslogAppender.setSyslogHost("localhost");
    syslogAppender.activateOptions(); 
    Logger.getRootLogger().addAppender(syslogAppender);
    Logger.getRootLogger.info("Syslogdone");
} 
Run Code Online (Sandbox Code Playgroud)

java log4j syslog

7
推荐指数
1
解决办法
2万
查看次数

记录到syslog vs文件系统:优点和缺点

大多数应用程序和服务都记录到文件系统.他们为什么不使用syslog?是慢还是不可靠?

使用syslog的真正优点和缺点是什么?

unix logging syslog

7
推荐指数
1
解决办法
1244
查看次数

SyslogAppender无法正常工作

我有一个java程序,我想在fedora机器上登录/ var/log/messages文件.我在log4j SyslogAppender中使用但它不起作用.

我的log4j属性文件包含

# Set root category priority to INFO and its only appender to CONSOLE.
log4j.rootCategory=INFO, CONSOLE, SYSLOG
#log4j.rootCategory=INFO, CONSOLE, LOGFILE

# Set the enterprise logger priority to DEBUG
log4j.logger.com.locaid=INFO, CONSOLE, LOGFILE, SYSLOG

# CONSOLE is set to be a ConsoleAppender using a PatternLayout.
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n

# LOGFILE is set to be a File appender using a PatternLayout.
log4j.appender.LOGFILE=org.apache.log4j.FileAppender
log4j.appender.LOGFILE.File=/home/dev/app.log
log4j.appender.LOGFILE.Append=true
log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
log4j.appender.LOGFILE.layout.ConversionPattern=[%d{dd/MM/y HH:mm:ss}][%t][%1p] %c - %m%n

log4j.appender.SYSLOG=org.apache.log4j.net.SyslogAppender
log4j.appender.SYSLOG.syslogHost=localhost
log4j.appender.SYSLOG.layout=org.apache.log4j.PatternLayout
log4j.appender.SYSLOG.layout.conversionPattern=%d{ISO8601} …
Run Code Online (Sandbox Code Playgroud)

java logging log4j syslog

7
推荐指数
1
解决办法
2万
查看次数

删除存储过程的SQL Server 2008日志

我正在使用SQL Server 2008,并注意到缺少一个重要的存储过程.

如何找出删除存储过程的时间和人员.

sql-server syslog

7
推荐指数
1
解决办法
1920
查看次数

在PHPUnit测试中有没有办法'期望'输出到error_log?

有没有办法在使用phpunit进行单元测试时对从'error_log("Message")调用创建的输出运行测试?

示例代码,我的一个函数使用luhn算法测试信用卡:

if($checkLuhn && ($this->_luhn_check($cardNumber) == false)) {
    error_log(__METHOD__ . " cardNumber failed luhn algorithm check.");
    return false;
}
Run Code Online (Sandbox Code Playgroud)

$ checkLuhn是传入的布尔值,告诉它是否进行检查,如果$ cardNumber通过,_luhn_check()返回true.问题是,我在这个函数中有多个测试可以返回false.我可以在返回值上使用assertEquals,但也想检查抛出错误的原因.

您可以覆盖error_log或以其他方式在单元测试中获取syslog输出吗?

php phpunit unit-testing syslog

7
推荐指数
1
解决办法
2211
查看次数

如何模仿Kubernetes中的"--log-driver = syslog"

使用docker,我可以通过log-driver = syslog命令行选项将容器日志转发到syslog.如何通过Kubernetes yaml/json描述符传递这些docker参数?

syslog docker kubernetes

7
推荐指数
1
解决办法
3526
查看次数

从 python 脚本登录到 rsyslog 工具

我有这个/etc/rsyslog.conf

local0.*     /var/log/local.log
Run Code Online (Sandbox Code Playgroud)

我有一个简单的 python 脚本,它从标准输入中读取并应该发送到 local0

#!/usr/bin/python3

import sys, syslog

syslog.openlog(ident="MY_SCRIPT", facility=syslog.LOG_LOCAL0)

for line in sys.stdin:
    syslog.syslog(syslog.LOG_WARNING, f"Message\n\n")
Run Code Online (Sandbox Code Playgroud)

但它不起作用。rsyslog没有看到消息local0

只有当我更改为*.*rsyslog才能看到它:

*.*     /var/log/local.log
Run Code Online (Sandbox Code Playgroud)

我假设我没有在我的 python 脚本中正确配置工具。

如何指定我要登录local0

logging syslog rsyslog python-3.x

7
推荐指数
1
解决办法
918
查看次数

最快的 Ruby 记录器实现是什么?

我想找到 Ruby 提供的最快的记录器。我的直觉告诉我 syslog 会在这场比赛中获胜。但我的直觉似乎是错误的。Syslog 是我测试过的三个记录器中最慢的。我使用的是我的 MacBook Pro、OSX 10.6 (Snow Leopard)、Intel Core2 Duo、4GB 内存和由 MacPorts 构建的 Ruby 1.8.7。难道我做错了什么?或者 Ruby 的 syslog 实现就是这么慢?如果结果与我的不同,请随时发布您的结果。也欢迎您将您最喜欢的 Ruby 记录器添加到基准测试中。我的目标是找到可用的最快的记录器。我只对纯性能(吞吐量)感兴趣。像多目标日志记录这样的功能在这里不是问题。

# loggers_bench.rb

require 'rbench'
require 'activesupport'
require 'syslog'
require 'logger'

buffered = ActiveSupport::BufferedLogger.new('buffered.log')
logger   = Logger.new('logger.log')
syslog   = Syslog.open('rb_syslog')

TIMES = 10_000

RBench.run(TIMES) do
  column :syslog,    :title => 'Syslog'
  column :logger,    :title => 'Logger'
  column :buffered,  :title => 'ActiveSuppoort::BufferedLogger'


  report '#info' do
    syslog {
      300.times do |i|
        syslog.info "hello #{i}"
      end
    }

    logger {
      300.times do …
Run Code Online (Sandbox Code Playgroud)

ruby comparison benchmarking logging syslog

6
推荐指数
1
解决办法
3365
查看次数