我们有多个vb项目.我们想在所有函数中放置错误处理程序,错误处理程序应该写入文件.有任何可用的工具 - 我们已经查看了codesmart和vbwatch.
我无法找到ElMah-错误记录工具的任何分步教程.基本上,我发现了一些文章,但它们都很模糊.例如,我发现这篇文章比其他任何文章都好一点:
http://www.hanselman.com/blog/ELMAHErrorLoggingModulesAndHandlersForASPNETAndMVCToo.aspx
但它有严重的问题,例如作者说你必须添加一些"HTTPHendlers和HttpModules":他的意思是什么?当他说某些HttpHandlers时他的意思是什么?有没有人知道任何可以指导基础知识的好教程?
对于PHP错误处理,目的是"只有管理员才能看到警告,错误等";
我应用了以下步骤:
error_reporting(-1);了我的命令index.php.htaccess这是刚下public_html的文件夹error_modes在我的public_html文件夹中创建了文件夹.htaccess文件error_modes夹中创建了文件error_modes文件夹的权限设置为777可写.<?php 'should see this error in log file' ?>在我的footer.inc.php页面写道.请注意,我最后没有写过;字符.尽管我的页面中有意PHP语法错误footer.inc.php,但没有php_error.log创建文件!
我看到应该看到日志文件中的这个错误 string打印在我的footer.inc.php页面中.因此,尽管语法错误,PHP仍然有效!
我还在.htaccess下面添加了我的整个代码.(这是刚刚下的那个public_html)
fyi:我没有访问权限,php.ini也没有任何预设.log文件.PHP版本是5.4.
你能纠正我吗?谢谢.最好的祝福.
php_flag log_errors on
php_flag display_errors off
php_value error_log /home/my_user_number/public_html/error_modes/php_error.log
php_value error_reporting …Run Code Online (Sandbox Code Playgroud) 在PHP中使用error_log(..)时,我想指定发生错误的行:
error_log("something bad happened on line $LINE");
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点 ?
Flask教程有一个在发生错误时通过电子邮件发送自己的示例.我想添加一些信息request,但一直收到错误:
RuntimeError: working outside of request context
Run Code Online (Sandbox Code Playgroud)
这是我有的:
if __name__ == '__main__':
if not app.debug:
# create mail handler
import logging
from logging.handlers import SMTPHandler
mail_handler = SMTPHandler('127.0.0.1',
'server-error@example.com',
['admin@example.com'], 'YourApplication Failed')
# Log format
from logging import Formatter
mail_handler.setFormatter(Formatter('''
Message type: %(levelname)s
Location: %(pathname)s:%(lineno)d
Module: %(module)s
Function: %(funcName)s
Time: %(asctime)s
Message:
%(message)s
''' % request.headers )) # Added request here
# Attach log handler to app
mail_handler.setLevel(logging.ERROR)
app.logger.addHandler(mail_handler)
Run Code Online (Sandbox Code Playgroud)
如何获取日志记录的请求上下文?
我在django中使用python日志记录,我想将错误记录到var/log文件夹中.我收到此错误:
Unable to configure handler 'exception_logs': [Errno 2] No such file or directory: '/var/log/exceptions.log'
Run Code Online (Sandbox Code Playgroud)
下面是我的代码片段 settings.py
'handlers': {'exception_logs': {
'level': 'DEBUG',
'class': 'logging.FileHandler',
'formatter': 'simple',
'filename': '/var/log/exceptions.log',
},
},
Run Code Online (Sandbox Code Playgroud) 我有一个自定义记录器,我想创建一个名为的扩展方法
SetContext(uniqueKey, object)
Run Code Online (Sandbox Code Playgroud)
我可以在我的自定义记录器中设置一个属性并在记录消息时记录该上下文。
所以代码看起来像这样
_logger
.SetContext(User.Email(), User)
.LogError(1, new Exception("foo foo foo"), "bleep Bloop");
Run Code Online (Sandbox Code Playgroud)
我似乎面临的问题是,通过控制器中的 DI 返回的 ILogger 又由我的扩展方法使用,实际上并不是我的自定义 ILogger 实现。
public static ILogger SetContext(this ILogger logger, string uniqueUserIdentifier, object context)
{
var redisPublisherLogger = logger as RedisPublisherLogger;
if (redisPublisherLogger == null)
{
return logger;
}
redisPublisherLogger.Context = new LoggingContext
{
ContextData = context,
UniqueUserIdentifier = uniqueUserIdentifier
};
return logger;
}
Run Code Online (Sandbox Code Playgroud)
所以无论如何我可以做这样的事情,我试图避免覆盖 ILogger 上的所有日志记录方法。
任何帮助,将不胜感激!谢谢
logging error-logging dependency-injection asp.net-core-mvc asp.net-core
好的,我们在 Web 应用程序中使用 Serilog 并将其发布到 SEQ。(该网站是经典 ASP 和 .NET 的混合体,但我们只有 .NET 中的 Serilog 调用)
// create the logger
Log.Logger = new LoggerConfiguration()
.MinimumLevel.ControlledBy(_levelSwitch)
.WriteTo.Seq(seqIp)
.CreateLogger();
Run Code Online (Sandbox Code Playgroud)
当我将 MaximumLoggingLevel 配置为“信息”、“调试”或“详细”时,每个GET 或 POST 都会被扔进日志中,数百个......
甚至无需调用 log.Information...、log.Debug... 或 log.Verbose。它只是将所有可能的信息扔给 SEQ。
以下是被放入 SEQ 中的一些信息。这只是“信息”,没有我明确调用来记录的内容......
这是正常功能吗?
(我现在将其设置为“警告”,因此这些多余的信息不会阻塞用户界面)
我想知道当程序在 C++ 中崩溃时,有什么方法可以捕获一些信息。此信息可用于开发人员将来的调试。例如,此信息提供了我的程序在哪一行代码和哪个函数中崩溃,或者最好是为什么崩溃。
我无法将有意义的错误消息记录到我的函数日志中,我试图实现的是出现错误,“错误”日志级别如下:
相反,我得到的是:
我正在使用以下函数来测试这一点:
exports.testError = functions.https.onRequest(async (request, response) =>
{
console.log('Hi');
//According to google this won't be logged as error
console.error('Error');
//But these will
console.error(new Error('error'));
console.error('Error', new Error('error'));
return response.status(500).send('Test is finished.');
})
Run Code Online (Sandbox Code Playgroud)
第一个图像是一个随机错误,其目的是显示我想要实现的目标,即:将错误记录为错误。
第二张图片是我的测试结果,它表明即使我按照谷歌的说明(报告错误),它也没有按预期工作。
error-logging ×10
asp.net ×2
logging ×2
php ×2
.htaccess ×1
asp.net-core ×1
c++ ×1
c++11 ×1
c++14 ×1
debugging ×1
django ×1
elmah ×1
error-log ×1
flask ×1
javascript ×1
node.js ×1
python ×1
python-3.x ×1
serilog ×1
text-files ×1
vb6 ×1