Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
跨语言(Java、C+;+;、Python)系统使用哪个日志库 我有一个系统,其中一个中央java控制器启动分析过程,这些过程可以用C++、java或Python(主要是C++)编写。所有这些进程当前都在同一台服务器上运行。你有什么建议 创建所有进程都可以写入的中心日志 如果将来我将一些进程推送到另一台服务器会怎么样。如何支持分布式日志记录_Java_C++_Python_Logging - Fatal编程技术网

跨语言(Java、C+;+;、Python)系统使用哪个日志库 我有一个系统,其中一个中央java控制器启动分析过程,这些过程可以用C++、java或Python(主要是C++)编写。所有这些进程当前都在同一台服务器上运行。你有什么建议 创建所有进程都可以写入的中心日志 如果将来我将一些进程推送到另一台服务器会怎么样。如何支持分布式日志记录

跨语言(Java、C+;+;、Python)系统使用哪个日志库 我有一个系统,其中一个中央java控制器启动分析过程,这些过程可以用C++、java或Python(主要是C++)编写。所有这些进程当前都在同一台服务器上运行。你有什么建议 创建所有进程都可以写入的中心日志 如果将来我将一些进程推送到另一台服务器会怎么样。如何支持分布式日志记录,java,c++,python,logging,Java,C++,Python,Logging,谢谢 我建议使用平台的本机记录器,即Posix上的syslog和Windows上的事件日志 < C++ >,可以在平台上使用本机调用。< /P> 我知道Python在Posix上附带了syscall包装器,并且在Posix中有事件日志的包装器。我假设现在已经有人创建了Java包装器 更新 关于系统日志和多个文件。syslog支持设施的概念-通过设施,您可以让不同的日志进入不同的文件。不幸的是,设施是预定义的;虽然有8个通用的LOG\u LOCAL0到LOG\u LOCAL7但您不能定义任意设施

谢谢

我建议使用平台的本机记录器,即Posix上的syslog和Windows上的事件日志

< C++ >,可以在平台上使用本机调用。< /P> 我知道Python在Posix上附带了syscall包装器,并且在Posix中有事件日志的包装器。我假设现在已经有人创建了Java包装器

更新

关于系统日志和多个文件。syslog支持设施的概念-通过设施,您可以让不同的日志进入不同的文件。不幸的是,设施是预定义的;虽然有8个通用的
LOG\u LOCAL0
LOG\u LOCAL7
但您不能定义任意设施

还请注意,由syslog守护进程决定在何处路由每个设施/级别的日志消息。您可能需要调整syslog守护程序配置,以便将每个工具发送到不同的文件。

Apache有,这允许您使用类似的api从各种编程语言进行日志记录。不幸的是,他们没有Python API,尽管您应该能够使用log4cpp和Boost.Python创建一个API

我所从事的一个项目使用这些库中的一个来登录到数据库,这使我们能够“分布式登录”,并为日志消息提供一个集中的位置。我得承认我不喜欢这个。我工作的另一个项目使用这些库中的一个来登录到本机日志记录工具。Windows事件日志有一些用于分布式日志记录的功能,但AFAIK syslog没有


虽然我没有这方面的经验,但更适合这个项目。该功能集满足您的需求,包括Python API。不幸的是,它使用节省的工作,而不适用于Windows上的C++(即,节省编译器生成只在UNIX上工作的C++代码)。您可以使用Cygwin解决这个问题,但我不能保证这种方法会奏效。

我会使用Apache log4cxx或Apache log4j。 效率很高。它具有记录器层次结构来模块化日志。这是一个久经考验的技术。 目前,存在用于控制台、文件、GUI组件、远程套接字服务器、NT事件记录器和远程UNIX系统日志守护进程的附加程序。也可以异步记录

如何支持分布式日志记录?
例如使用远程套接字服务器appender。

谢谢您的回答。能否在同一台计算机上创建单独的系统日志?我们有不同的服务,每个都有多个进程,我们希望将日志理想地分开。@exclusion-updated answer来回答您的评论。syslog的另一个好处是,所有合理的实现都已经知道如何通过网络将日志消息发送到另一台机器。syslog支持分布式日志记录。经典的syslogd支持使用
@hostname
语法将消息转发到另一台主机。请参阅syslog.conf手册页中的“远程机器”部分: