我开始使用旧版本的cassandra(1.1)使用log4j,问题是“在任何地方没有任何日志”经过一些调查我找到了两个文件,我们可以从中更改日志设置:
1 / log4j-server.properties,设置应该插入syslog(但它不起作用)
log4j.rootLogger=WARN,SYSLOG
log4j.logger.org.apache.thrift.server.TNonblockingServer=ERROR
log4j.appender.SYSLOG=org.apache.log4j.net.SyslogAppender
log4j.appender.SYSLOG.SyslogHost=localhost
log4j.appender.SYSLOG.Facility=Local0
log4j.appender.SYSLOG.FacilityPrinting=false
log4j.appender.SYSLOG.layout=org.apache.log4j.PatternLayout
log4j.appender.SYSLOG.layout.ConversionPattern=%m
log4j.appender.SYSLOG.header = true
2 /包含$ CASSANDRA_LOG_DIR的 我在所有服务器(具有log4j和默认日志文件的syslog)上具有相同的设置但是cassandra只能使用defaut文件(/$USER/logs/cassandra/output.log)在某些服务器上记录< / p>
我的问题是:cassandra默认使用哪个设置?即使没有log4j,我们可以让cassandra写日志吗?CASSANDRA_LOG_DIR=/$USER/logs/cassandra
答案 0 :(得分:3)
默认情况下,Cassandra output.log位于:/var/log/cassandra/output.log
output.log捕获Cassandra进程的标准输出。
如果您尝试更改完整诊断的配置,则需要根据documenation provided by DataStax处的信息操作 log4j-server.properties 文件。
从上面的链接中查看“Changing Log Levels”部分。
默认情况下,system.log文件(log4j写入的日志文件)位于/var/log/cassandra/system.log
默认情况下,将记录输出放置在 /var/log/cassandra/system.log。你可以改变的位置 通过编辑log4j.appender.R.File路径输出。一定要的 目录存在并且可由运行Cassandra的进程写入。
您可以找到有关更改cassandra system.log文件here的日志轮换的完整文档。
请注意,上述说明适用于Cassandra&lt; = 2.0 如果您正在寻找有关Cassandra&gt; = 2.1的日志配置的信息,您需要查看this documentation page by DataStax,因为2.1+使用logback而不是log4j。谢谢你,请注意!