标签: error-logging

如何重定向python运行时错误?

我正在使用python编写一个守护进程服务器,有时会出现python运行时错误,例如某些变量类型不正确.该错误不会导致进程退出.

我可以将这样的运行时错误重定向到日志文件吗?

python error-logging

3
推荐指数
1
解决办法
1985
查看次数

Python错误记录

我想找到一种方法来记录强制python解释器退出的每个错误,以便保存到文件以及打印到屏幕上.我想这样做的原因是我想在编写代码时保留我所犯错误类型的统计数据,着眼于寻找避免将来常犯的错误的方法.

我一直试图通过使用子进程模块为python解释器编写包装器来做到这一点.基本上,它运行python解释器,捕获任何输出,解析并将其保存到文件,打印输出,并使用matplotlib来制作一些摘要数字.但是,我在实时从包装器脚本获取输出时遇到问题.例如,如果我正在运行的脚本是:

import os  
import time

for x in range(10):  
    print "testing"  
    time.sleep(10)  
Run Code Online (Sandbox Code Playgroud)

我正在使用带有p.communicate()的subprocess.Popen(),包装器将等待100秒,然后打印所有输出.我希望包装器尽可能不可见 - 理想情况下,它会在每十秒钟打印一次"测试".

如果有人能指出我这样做的好方法,我会非常感激.

谢谢!

python error-logging

3
推荐指数
1
解决办法
5666
查看次数

可以在java产品中记录源类名和方法名吗?

我目前正在为一些网络监控工具开发java应用程序.在我的代码中,我应该使用很多日志.由于它是一个网络管理软件,因此日志中的信息对用户非常有用,因此必须使用它们.但是现在我对我应该选择什么样的记录器方法感到困惑.现在我正在使用,Logger.lop(...//...)因为在它的帮助下我们也记录了类名和方法,因此我(开发人员)很容易调试代码并找到错误.但最后我很困惑,如果我用相同的日志记录机制将它交付给最终用户??? 让您的用户知道当前正在执行哪种类,以及发生了哪种方法错误是否有害.我在很多产品中看到很多次异常处理堆栈跟踪被使用,所以通常我们也得到类名.那么让最终用户知道你的类名和方法是没有问题的吗?

java logging error-logging end-user

3
推荐指数
2
解决办法
937
查看次数

R 中的错​​误处理和日志记录

我在 R 中编写了一个函数来将任何消息打印到日志文件和控制台。但是如果在运行代码时出现任何意外错误,那么错误只会显示到控制台。有没有办法将错误消息同时写入控制台和日志文件?这里是功能..

log_con <- file("Text1.txt", open="a")

loggerfn<-function(Message,LogConnection=log_con){
  cat(Message, file = LogConnection)
  cat(Message)
}
Run Code Online (Sandbox Code Playgroud)

这是示例代码,用于...

for (i in 1:10)
 {
  loggerfn("loop begins\n",log_con)
   a <- rnorm(n = 100, mean = i, sd = 5)
   loggerfn(mean(a),log_con)
   loggerfn("loop Completed\n",log_con)
   if(i==8){
     sdfs
   }
 }
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,我通过提供未定义的对象 sdfd 故意引入了错误。下面提供的错误消息仅显示在控制台中,有没有办法将错误消息同时写入控制台和日志文件?

Error: object 'sdfs' not found
Run Code Online (Sandbox Code Playgroud)

error-logging r

3
推荐指数
1
解决办法
4496
查看次数

Apache错误日志 - 文件不存在

我在apache错误日志中收到一些神秘的错误.例如:

File does not exist: /home/httpd/vhosts/studentlife.co.il/httpdocs/help_center/div.hot-jobs 
File does not exist: /home/httpd/vhosts/studentlife.co.il/httpdocs/solutions/function.filesize 
File does not exist: /home/httpd/vhosts/studentlife.co.il/httpdocs/work_abroad/div.publish 
Run Code Online (Sandbox Code Playgroud)

现在我不明白 - 我的div和函数是如何突然变成文件的?当然它们不存在,它们是代码中编写的div和函数.所以我不确定为什么我得到这些文件不存在错误.

另外,我该如何调试它,因为我无法访问具有这些名称的文件?

任何见解都会很棒.

apache error-logging

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

如何在仍然登录时向用户显示错误?

我正在使用PyQt4用户界面.我已将stderr重定向到日志文件以便于调试和故障排除,但现在我需要在发生错误时向用户显示错误消息.

我的问题是我需要在发生异常时捕获异常并让用户知道它发生了,但仍然让回溯传播到stderr(即日志文件).

如果我做这样的事情:

def updateResults(self):
    try:
        #code that updates the results
    except:
        #display error message box
Run Code Online (Sandbox Code Playgroud)

这将捕获异常而不是传播到错误日志.

有没有办法向用户显示消息,然后继续传播错误?

这会有用吗?

except, e:
    #display error message box
    raise e
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法来实现我的目标?

python error-handling error-logging exception-handling pyqt4

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

您应该在ASP.NET MVC中的global.asax中使用Application_Error方法吗?

我知道在ASP.NET中,人们通常会在其global.asax文件中放置一个名为"Application_Error"的受保护方法,以处理异常的记录.

我的问题是,这是ASP.NET唯一的东西,还是在ASP.NET MVC中同样有效?它是ASP.NET MVC的最佳实践吗?

c# asp.net asp.net-mvc error-logging global-asax

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

在PHP中,有没有办法在error_log()中显示有关变量的人类可读信息?

我想做的事情如下:

error_log('this is information about the variable: '.print_r($variable));
Run Code Online (Sandbox Code Playgroud)

要么

error_log('this is information about the variable: '.var_dump($variable));
Run Code Online (Sandbox Code Playgroud)

仅供参考,我正在尝试打印的变量是一个数组.

php debugging error-logging

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

ASP.NET中错误日志记录的最佳实践是什么?

当我与Java的工作,我曾经log4jslf4j我的web项目.我使用了下一个scheme:base类的对象,我可以使用继承,静态类用于其他情况.

现在我有关于C#(MVC3)的项目.在C#Web应用程序中进行错误日志记录的最佳做法是什么?

c# asp.net error-logging

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

是否可以仅为部分脚本禁用错误报告?

PHP文档读取(强调我的):

error_reporting()函数在运行时设置error_reporting指令.PHP有许多级别的错误,使用此函数设置脚本持续时间(运行时)的级别.如果未设置可选级别,则error_reporting()将仅返回当前错误报告级别.

这是否意味着错误报告的级别只能在PHP脚本中设置一次,之后不会更改?例如,是否可以这样做:

error_reporting(0);

try {
  errorSilently();
} catch (Exception $e) {
  // Do nothing
}

error_reporting(E_ALL);

try {
  errorLOUDLY();
} catch (Exception $e) {
  // Do nothing
}
Run Code Online (Sandbox Code Playgroud)

请注意,我写了一个// Do nothing因为看起来如果抛出错误,Apache会以error_log任何方式将其写入,如果它被捕获或未被捕获.我想要做的是禁用该行为,而不是写入错误日志.

php error-handling error-logging

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