Questions tagged «logging»

计算机数据记录是在计算机程序或计算机系统中通常具有特定范围的事件记录过程,以便提供可用于了解系统活动和诊断问题的审核跟踪。确保除此标签外还包括适当的软件或硬件标签。

8
如何记录Cron作业?
我想知道我如何才能准确地看到cron作业在每次执行时的工作。日志文件在哪里?还是可以将输出发送到我的电子邮件?我已设置电子邮件地址,以在cron作业运行时发送日志,但是我还没有收到任何信息。
218 logging  cron 

21
Spring Boot-如何在一个地方记录所有带有异常的请求和响应?
我正在使用Spring Boot开发Rest API。我需要使用输入参数(使用方法,例如GET,POST等),请求路径,查询字符串,此请求的相应类方法,此操作的响应(成功和错误)记录所有请求。 例如: 成功的请求: http://example.com/api/users/1 日志应如下所示: { HttpStatus: 200, path: "api/users/1", method: "GET", clientIp: "0.0.0.0", accessToken: "XHGu6as5dajshdgau6i6asdjhgjhg", method: "UsersController.getUser", arguments: { id: 1 }, response: { user: { id: 1, username: "user123", email: "user123@example.com" } }, exceptions: [] } 或有错误的要求: http://example.com/api/users/9999 日志应该是这样的: { HttpStatus: 404, errorCode: 101, path: "api/users/9999", …


16
在log4j中,在记录之前检查isDebugEnabled是否可以提高性能?
我在应用程序中使用Log4J进行日志记录。以前我使用像下面这样的调试调用: 选项1: logger.debug("some debug text"); 但有些链接建议最好先检查一下isDebugEnabled(),例如: 选项2: boolean debugEnabled = logger.isDebugEnabled(); if (debugEnabled) { logger.debug("some debug text"); } 所以我的问题是“ 选项2是否会以任何方式提高性能? ”。 因为在任何情况下,Log4J框架都对debugEnabled进行相同的检查。对于选项2,如果我们在单个方法或类中使用多个调试语句,则框架可能不需要isDebugEnabled()(在每次调用中)多次调用方法,这可能是有益的。在这种情况下,它isDebugEnabled()仅调用一次方法,并且如果Log4J配置为调试级别,则实际上它isDebugEnabled()两次调用方法: 如果将值分配给debugEnabled变量,则 实际是由logger.debug()方法调用的。 我不认为,如果我们logger.debug()在方法或类中编写多个语句,debug()然后根据选项1 调用方法,那么与选项2相比,它对Log4J框架来说是开销。因为这isDebugEnabled()是一个非常小的方法(就代码而言),所以成为内联的好人选。
207 java  logging  log4j 

25
如何在记录器中对消息执行JUnit断言
我有一些正在测试的代码,它们呼吁Java记录器报告其状态。在JUnit测试代码中,我想验证此记录器中是否输入了正确的日志条目。遵循以下内容: methodUnderTest(bool x){ if(x) logger.info("x happened") } @Test tester(){ // perhaps setup a logger first. methodUnderTest(true); assertXXXXXX(loggedLevel(),Level.INFO); } 我想可以使用专门改编的记录器(或处理程序或格式化程序)来完成此操作,但我希望重用已存在的解决方案。(而且,老实说,我不清楚如何从记录器中获取logRecord,但是假设这是可能的。)
205 java  logging  junit  assert 

4
如何自定义Python日志记录的时间格式?
我是Python日志记录包的新手,并计划将其用于我的项目。我想根据自己的喜好定制时间格式。这是我从教程中复制的简短代码: import logging # create logger logger = logging.getLogger("logging_tryout2") logger.setLevel(logging.DEBUG) # create console handler and set level to debug ch = logging.StreamHandler() ch.setLevel(logging.DEBUG) # create formatter formatter = logging.Formatter("%(asctime)s;%(levelname)s;%(message)s") # add formatter to ch ch.setFormatter(formatter) # add ch to logger logger.addHandler(ch) # "application" code logger.debug("debug message") logger.info("info message") logger.warn("warn message") …


6
如何追踪log4net问题
我一直都在使用log4net,但我从未想过的一件事是如何判断内部发生了什么。例如,我的项目中有一个控制台附加程序和一个数据库附加程序。我对数据库和代码进行了一些更改,现在数据库附加程序不再起作用。我会弄清楚最终为什么,但是如果我能看到log4net里面发生了什么,那将会很有帮助。 log4net是否会生成任何类型的输出,我可以查看这些输出以尝试确定问题的根源?
191 .net  logging  log4net 

4
以编程方式配置Log4j记录器
我正在尝试log4j第一次使用SLF4J(带绑定)。 我想配置3个不同的命名Logger,它们可以由LoggerFactory返回,LoggerFactory将记录不同的级别并将消息推送到不同的附加程序: 记录器1“ FileLogger”记录调试并附加到 DailyRollingFileAppender 记录器2“ TracingLogger”记录TRACE +并附加到 JmsAppender 记录器3“ ErrorLogger”记录ERROR +并追加到其他记录器 JmsAppender 此外,我希望以编程方式配置它们(使用Java,而不是XML或log4j.properties文件)。 我想通常,我会Logger在一些自举代码中的某处(如init()方法)定义这些。但是,因为我想使用slf4j-log4j,所以对于在哪里定义记录器并使它们可用于类路径感到困惑。 我不认为这违反了SLF4J的基本目的(作为外观),因为我使用SLF4J API的代码永远不会知道这些记录器存在。我的代码只是对SLF4J API进行了常规调用,然后将它们转发到它在类路径中找到的log4j Logger。 但是,如何在Java中的类路径上配置这些log4j Logger?
189 java  logging  log4j  slf4j 

15
子流程命令的实时输出
我正在使用python脚本作为流体力学代码的驱动程序。是时候运行模拟了,我subprocess.Popen用来运行代码,将stdout和stderr的输出收集到subprocess.PIPE---中,然后我可以打印(并保存到日志文件中)输出信息,并检查是否有错误。问题是,我不知道代码是如何进行的。如果直接从命令行运行它,它会向我输出有关它的迭代时间,时间,下一时间步长等的信息。 有没有办法既存储输出(用于日志记录和错误检查),又产生实时流输出? 我的代码的相关部分: ret_val = subprocess.Popen( run_command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True ) output, errors = ret_val.communicate() log_file.write(output) print output if( ret_val.returncode ): print "RUN failed\n\n%s\n\n" % (errors) success = False if( errors ): log_file.write("\n\n%s\n\n" % errors) 最初,我是run_command通过管道传递数据,tee以便将副本直接发送到日志文件,并且流仍直接输出到终端-但是那样,我无法存储任何错误(据我所知)。 编辑: 临时解决方案: ret_val = subprocess.Popen( run_command, stdout=log_file, stderr=subprocess.PIPE, shell=True ) while not ret_val.poll(): log_file.flush() …

10
在Python中记录未捕获的异常
您如何导致未捕获的异常通过logging模块而不是通过模块输出stderr? 我意识到最好的方法是: try: raise Exception, 'Throwing a boring exception' except Exception, e: logging.exception(e) 但是我的情况是,如果在没有捕获到异常的情况下自动调用它,那将非常好logging.exception(...)。

8
Node.js记录
是否有任何库可以帮助我处理Node.Js应用程序中的日志记录?我要做的是,我想将所有日志写入文件,并且还需要一个选项,例如在特定大小或日期后推出文件。 我并入了log4js,试图将所有配置详细信息保留在一个文件中,并且仅使用其他应用程序文件中的方法来简化维护。但是它没有按预期工作。这是我想要做的 var log4js = require('log4js'); log4js.clearAppenders() log4js.loadAppender('file'); log4js.addAppender(log4js.appenders.file('test.log'), 'test'); var logger = log4js.getLogger('test'); logger.setLevel('ERROR'); var traceLogger = function (message) { logger.trace('message'); }; var errorLogger = function (message) { logger.trace(message); }; exports.trace = traceLogger; exports.error = errorLogger; 我已将此文件包含在其他文件中并尝试 log.error ("Hello Error Message"); 但这是行不通的。这有什么问题吗?

8
如何在MySQL中查看日志文件?
我读过Mysql服务器创建了一个日志文件,其中记录了所有活动-如何时执行查询以及执行什么查询。 有人可以告诉我它在系统中的什么位置吗?我该怎么读? 基本上,我需要使用不同的输入[两个日期之间的备份]来备份数据库,所以我认为我需要在此处使用日志文件,这就是为什么要这样做... 我认为必须以某种方式保护此日志的安全,因为可能会记录诸如用户名和密码之类的敏感信息[如果有任何查询要求];这样可以确保它安全,不容易被看到吗? 我具有root访问系统的权限,如何查看日志? 当我尝试打开/var/log/mysql.log时,它是空的。 这是我的配置文件: [client] port = 3306 socket = /var/run/mysqld/mysqld.sock [mysqld_safe] socket = /var/run/mysqld/mysqld.sock nice = 0 [mysqld] log = /var/log/mysql/mysql.log binlog-do-db=zero user = mysql socket = /var/run/mysqld/mysqld.sock port = 3306 basedir = /usr datadir = /var/lib/mysql tmpdir = /tmp skip-external-locking bind-address = 127.0.0.1 # # …
176 mysql  logging 



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.