有没有人知道java中的自动错误报告系统?我们有一个安装在客户端服务器上的服务器产品.我们的想法是,我们的服务器会向我们的某个服务器发送错误详细信息,然后在我们的错误跟踪器中输入错误.优选地,这将通过http发生.对于所有例外情况都不会发生,只有更严重的情况和任何未经处理的例外情况都不会发生.
我试图避免自己滚动.我们自己会捕获异常,但我希望这个系统能够尽可能地处理异常处理程序和家里的bug跟踪器.
作为C#应用程序的作者,我发现如果我可以访问异常或调试日志,用户报告的故障排除问题会更容易.
我已经包含了一个用户可以打开或关闭的本土日志记录机制.我希望用户能够通过互联网提交日志,以便查看日志中的错误.
我曾想过使用SMTPClient或Web服务来发送信息.SMTPClient可能无法正常工作,因为防火墙可能会阻止外发SMTP访问.Web服务是否会出现发送大量数据(可能超过1 MB)的问题?
您建议将应用程序直接向开发人员传输错误报告以供审核的最佳方法是什么?
编辑:澄清:这是一个Windows应用程序,当发生错误时,我想提出一个对话框,要求提交错误.我的问题是关于通过互联网将错误日志从应用程序传输给我(开发人员)的机制.
我想使用内置的Sails.js记录器并将所有内容记录到文件中."filePath"变量曾用于在config/log.js中的0.9.x中工作,但它似乎不再适用于0.10.x. 是否已删除此功能 - 如果是,现在登录磁盘的最佳方法是什么?
尽管使用谷歌搜索和阅读文档,我还是试图让 Python 日志记录工具正常工作,但没有成功。这是Dreamhost 共享服务器上Passenger 中的WSGI Python 应用程序。Paste 中间件正在努力提供有关 500 错误的信息。运行此代码时没有 python 错误。
我的消毒代码(passenger_wsgi.py):
#!/usr/bin/python
import os
import sys
import logging
cwd = os.getcwd()
sys.path.insert(0,cwd)
sys.path.append(cwd)
from paste.exceptions.errormiddleware import ErrorMiddleware
# configure the logging
logfilename = os.path.join('<path>/passenger_wsgi.log')
logging.basicConfig(filename=logfilename, level=logging.DEBUG, filemode='a+', format='%(asctime)s %(levelname)s %(message)s')
logging.info("Running %s", sys.executable)
log = file('<path>/passenger_wsgi_2.log', 'a')
print >>log, "Running %s" % (sys.executable)
log.flush()
application = ''
def application(environ, start_response):
results = ''
logging.info("Application called:")
logging.info("environ: %s", str(environ))
print >>log, "Application called:"
log.flush()
status = '200 OK'
results …Run Code Online (Sandbox Code Playgroud) 我使用log4net来记录异常,它通常可以正常工作.但我希望能够过滤掉包含特定文本字符串的异常.
我发现了这个实现过滤器的例子,但它与我想要的相反; 它只包含具有指定字符串的消息.我想排除指定的字符串.
<filter type="log4net.Filter.StringMatchFilter">
<stringToMatch value="My Exclude String" />
</filter>
<filter type="log4net.Filter.DenyAllFilter" />
Run Code Online (Sandbox Code Playgroud)
是否可以排除指定的字符串?
我正在开发一个烧瓶应用程序,我希望将错误级别日志记录发送到电子邮件地址.我尝试设置典型的错误处理程序:
mail_handler = SMTPHandler(mailhost=(app.config['MAIL_SERVER'], app.config['MAIL_PORT']),
fromaddr=app.config['MAIL_FROM_EMAIL'],
toaddrs=['me@my_address.com'],
subject='The server died. That sucks... :(',
credentials=(app.config['MAIL_USERNAME'], app.config['MAIL_PASSWORD']))
Run Code Online (Sandbox Code Playgroud)
请注意,配置值使用flask-mail设置,使用MAIL_USE_SSL=True和MAIL_PORT=465.
但是,在调用错误时(在测试期间故意)我得到套接字超时错误 - 除了端口之外,我看不到如何告诉处理程序使用SSL.有一个secure=()参数可以传递(参见SMTPHandler文档),但它指定了我们的TLS,而不是SSL.
任何线索如何做到这一点?谢谢!
我有一个java进程(在tomcat中),它使用log4j来记录文件并发送异常邮件.这种做法非常有效,直到前几天一段代码陷入困境,每隔几秒抛出许多异常 - 发送数千封电子邮件.
有没有办法限制从log4j发送的电子邮件?也许"只发送一次此异常"或"每5分钟最多发送一次此异常".
(当然我会修复这个特定环境的代码,但它会在一夜之间每10秒运行一次,所以将来可能会发生类似的事情)
提前致谢
瑞安
我有一个在Windows 7机器上运行的WAMP 2.2服务器,并且无法完成PHP错误记录.
即使我明确触发USER_ERROR错误或导致正常的ERROR错误,该文件也始终为空白.
我包含了php.ini文件的错误相关部分- 希望你能找到一些东西:
error_reporting = E_ALL
error_log = "c:/wamp32/logs/php_error.log" ;(UNCOMMENTED BY ME)
log_errors = On
display_errors = On
Run Code Online (Sandbox Code Playgroud) CentOS 6.5上的postgresql-9.0.15.我有一个输出INFO消息的plperlu函数.我想在测试期间抑制它(使用psql,其行为如下),但我似乎甚至无法从pgAdminIII(win2003的1.18.1)查询窗口中执行此操作:
SET client_min_messages TO WARNING;
select my_info_outputting_function('lalala')
Run Code Online (Sandbox Code Playgroud)
我运行它并查看"消息"选项卡,这是我的INFO消息.
(这可能类似于在运行psql脚本时如何抑制INFO消息,但我不想为我的整个会话禁用INFO消息,只是其中的一部分,然后将最小值设置为NOTICE.)
我上面的代码片段出了什么问题?client_min_messages不适用于pl/perlu函数吗?
更新:进一步调查后,即使使用plpgsql函数,似乎也会发生这种情况,而不仅仅是plperlu函数:
create or replace function my_info_outputting_function() returns void as $$
begin
raise INFO 'this should not appear...';
return;
end;
$$ language plpgsql;
SET client_min_messages TO WARNING;
select my_info_outputting_function();
Run Code Online (Sandbox Code Playgroud)
我在pgAdminIII查询窗口中运行上面的代码片段,并在"消息"选项卡中显示"不应出现此内容".Quoi?
更新2:我还尝试了log_min_messages以防万一.相同的行为.
postgresql logging error-logging session-variables postgresql-9.0
我是一个python新手,试图实现登录我的代码.我有两个模块
main.py submodule.py
main.py
import logging
from logging.handlers import RotatingFileHandler
import submodule
import logging
from logging.handlers import RotatingFileHandler
logger = logging.getLogger(__name__)
logger.setLevel(logging.DEBUG)
fh = RotatingFileHandler('master.log', maxBytes=2000000, backupCount=10)
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
fh.setFormatter(formatter)
logger.addHandler(fh)
logger.debug('DEBUG LEVEL - MAIN MODULE')
logger.info('INFO LEVEL - MAIN MODULE')
submodule.loggerCall()
Run Code Online (Sandbox Code Playgroud)
submodule.py
import logging
from logging.handlers import RotatingFileHandler
def loggerCall():
logger = logging.getLogger(__name__)
# logger.setLevel(logging.DEBUG)
fh = RotatingFileHandler('master.log', maxBytes=2000000, backupCount=10)
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
fh.setFormatter(formatter)
logger.addHandler(fh)
logger.debug('SUBMODULE: …Run Code Online (Sandbox Code Playgroud) error-logging ×10
logging ×5
python ×3
c# ×1
flask ×1
java ×1
log4j ×1
log4net ×1
node.js ×1
passenger ×1
php ×1
postgresql ×1
python-2.7 ×1
sails.js ×1
smtplib ×1
ssl ×1
wamp ×1
wampserver ×1
web-services ×1
wsgi ×1