标签: error-logging

window.onerror 没有捕获 DOMException

我正在 Chrome 浏览器上运行 angularjs 应用程序,并希望记录引发的所有错误。我正在使用以下方法来做到这一点:

window.onerror = function(message, url, linenumber) {
        alert("JavaScript error: " + message + " on line " + linenumber + " for " + url);
        log.error("JavaScript error: " + message + " on line " + linenumber + " for " + url);
    }
Run Code Online (Sandbox Code Playgroud)

这对于任何 js 错误似乎都能正常工作,但它似乎不会因以下情况而触发:

错误:TYPE_MISMATCH_ERR:DOM 异常 17 错误:对象的类型与与该对象关联的参数的预期类型不兼容。

ReferenceError:套接字未定义

有任何想法吗?

javascript error-logging domexception angularjs

5
推荐指数
0
解决办法
1379
查看次数

如何更改 PHP 在错误日志文件中写入错误的方式?

我已经在我的网站上工作了一年多了,我非常渴望最终将它放在那里供人们使用。然而它已经变得相当大了——我几乎想说超出了我的控制——最重要的是,我实际上只是一个自学的业余程序员。

所以我想确保 php 产生的任何错误都记录在一个文件中,这样我就可以访问该文件并跟踪错误。

目前我的设置如下:

<?php
error_reporting(E_ALL);
ini_set('display_errors', '0');
ini_set('log_errors', 1);
ini_set('error_log', 'errors.log');
?>
Run Code Online (Sandbox Code Playgroud)

到目前为止效果很好,我的 error.log 文件将包含如下内容:

[14-May-2013 00:16:26] PHP 注意:未定义的变量:/home/www/dir/index.php 第 14 行中不存在变量[14-May-2013 00:16:28] PHP 注意:未定义的变量:第 14 行 /home/www/dir/index.php 中不存在变量

太好了,错误已记录。

但现在我有一个问题:

  1. 他们都排成一排,没有间断。使其难以阅读。如何在新行中获取每个错误?

  2. 我看到有一个时间戳。惊人的!我如何添加用户的 IP 地址等内容或任何其他自定义内容?

再次,我的问题:

如何更改 PHP 在错误日志文件中写入错误的方式? 特别是,如何在记录每个错误后创建一个新行,以便 error.log 文件更易于阅读。如何添加自定义数据和值(例如 IP 地址)?

答案: 我最终做了以下事情 - 这似乎在某种程度上重现了 php 按标准所做的事情,并且可以从那里进行修改。

<?php
function my_error_handler($type, $message, $file, $line, $vars)
{
    switch($type) 
    { 
        case 1: // 1 // 
            $type_str = 'ERROR'; 
            break;
        case 2: // 2 // 
            $type_str = 'WARNING';
            break; …
Run Code Online (Sandbox Code Playgroud)

php error-logging error-reporting ini-set error-log

5
推荐指数
1
解决办法
2080
查看次数

Freenas rsync 错误:main.c(1053) 处的某些文件/属性未传输(请参阅以前的错误)(代码 23)[sender=3.0.9]

已经这样做了好几天了,没有运气。

在对所有用户、组和共享完成 Freenas 初始安装后,USB 失败。数据一切都很好,但是我没有配置文件的备份。使用的Freenas版本是FreeNAS-8.3.1-RELEASE-x64 (r13452)

更换 USB 并重新设置所有内容后 - 我重新连接数据硬盘并开始重新创建所有用户和组。一切都很好,直到我开始设置 Rsync 备份脚本,将数据本地复制到外部 USB 硬盘上。

我正在使用的脚本是

#!/bin/sh

# Simple script to backup data from BACKUP_SRC to BACKUP_DST
#
# this can be any drive attached to your FreeNAS box ...
# ... internal drive(s), external USB drive(s), external SATA drives(s)

# Backup source
BACKUP_SRC=/mnt/DATA/test/

# Backup destination -- DO NOT include the trailing slash
BACKUP_DST=/mnt/BACKUP1/SHARED

# For a seven day cyclical backup, remove the comment from the line 'DAY=option$
# …
Run Code Online (Sandbox Code Playgroud)

permissions rsync error-logging nas

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

如何在 PHP 中使用 set_exception_handler(...) 让默认日志记录不受影响?

我正在使用 编写一个简单的错误处理set_exception_handler(...)。一切工作正常,但当我在自定义文件中使用 和 记录异常时,默认异常记录syslog似乎被禁用。set_exception_handler(...)

对于“非 s”的记录,Trowable有一个函数set_error_handler。如果处理函数返回false,则正常的错误处理程序将继续,这意味着原始 PHP 错误消息将存储到系统日志中。对于异常处理程序,没有return提供任何值。

set_exception_handler(...)执行 's 回调后,如何将原始 PHP 错误消息存储到系统日志中?

php error-handling error-logging custom-error-handling php-7

5
推荐指数
0
解决办法
299
查看次数

如何使 Flask 在未处理的异常中记录链式异常?

Python 3 引入了异常链,因此:

import logging

logger = logging.getLogger(__name__)

class MyException(Exception):
    pass

def blow_up():
    try:
        impossible = 42 / 0
    except ZeroDivisionError as zde:
        raise MyException('Uh oh!') from zde

try:
    blow_up()
except:
    logger.exception('It blew up!')
Run Code Online (Sandbox Code Playgroud)

产生这个:

It blew up!
Traceback (most recent call last):
  File "ka-boom.py", line 10, in blow_up
    impossible = 42 / 0
ZeroDivisionError: division by zero

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "ka-boom.py", line 15, in <module> …
Run Code Online (Sandbox Code Playgroud)

logging error-logging flask python-3.x

5
推荐指数
1
解决办法
2594
查看次数

适用于 Windows .netcore 应用程序的 Logstash

我是 Logstash 的新手。我觉得很有趣。但目前我正在处理与 .NET core 应用程序相关的日志记录。我使用 Logstash 来满足我的日志记录需求是否正确?看到logstash 仅用于服务器端日志记录后,我很困惑。

先谢谢您的帮助。

c# logging error-logging logstash .net-core-rc2

5
推荐指数
1
解决办法
1494
查看次数

如何将反应控制台错误记录到文件中?

我是网站前端/客户端应用程序开发的新手。我正在建立一个新的反应项目。我用了create-react-app

我应该如何处理控制台错误(网络调用错误除外)?有没有办法将它们记录在任何文件中?

最佳日志记录实践是什么?

error-logging reactjs

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

如果错误日志记录失败,该怎么办?如何测试其在生产中的正常工作?

  1. 如果错误记录代码失败,该怎么办?
  2. 您如何确定其当前正常工作?
  3. 您怎么知道它是否不起作用?
  4. 您如何测试其在生产环境中的正常工作?
  5. 如果其他所有方法都失败,是否应该抛出异常?

下面的代码使用Microsoft的企业库日志记录应用程序块。您如何使其“更好”?

using Microsoft.Practices.EnterpriseLibrary.Logging;

class Program
{
    static void Main(string[] args)
    {
        try
        {
            // Trying to write some data to the DB
            ...
        }
        catch (Exception ex)
        {
            LogHelper.LogException(ex, "Trying to write to the DB");
        }
    }
}

public class LogHelper
{
    public static void LogException(Exception ex, string exceptionType)
    {
        try
        {
            // Simplified version, only logging the message
            Logger.Write(exceptionType);
        }
        catch
        {
            // What do you do here???
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

c# asp.net error-handling error-logging enterprise-library

4
推荐指数
2
解决办法
1945
查看次数

在Tomcat的Catalina错误日志中显示URL

我是Java世界的新手,我需要调试一个宁静的Javax Web Service应用程序.

有些触发异常,它们被正确地记录,但我想有一个调用的代码,我的日志里面的页面的URL,以及堆栈跟踪.

GET和POST信息也很重要.

可能吗?

java tomcat error-logging

4
推荐指数
1
解决办法
2373
查看次数

使用AWS作为应用程序日志数据库

我目前正在开发一个生成大量日志数据的大型Web应用程序.因为我们没有将所有事件记录到数据库的基础结构,所以我们将它们写入文件.不幸的是,这使得在日志中搜索特定事件非常困难,并且无法生成频率报告.

在试图找出如何实现更好的数据库日志记录时,我找到了亚马逊的服务.特别是SimpleDBDynamoDB.SimpleDB的一个用例是记录,但后来它说明了这一点

Amazon SimpleDB旨在存储相对少量的数据......

这似乎是矛盾的.这是我的问题:

  1. 这些数据库服务是否适合记录应用程序事件?
  2. 是否适合从日志数据生成报告?
  3. 我会使用时间戳作为主键吗?
  4. 这种服务有什么缺点或我应该考虑的其他事情吗?

更新2018-06-13:我已经使用SimpleDB在大型应用程序上记录应用程序数据.关键是将日志划分为与其生成时间段相对应的域(例如每天),以确保它们不会超出其限制.然后设置CRON作业以定期删除旧域.该解决方案运行良好,易于搜索.

logging error-logging amazon-web-services

4
推荐指数
1
解决办法
1625
查看次数