Home > Backend Development > PHP Tutorial > 如何将php的错误「行数」或完整的错误信息 写进档案

如何将php的错误「行数」或完整的错误信息 写进档案

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Release: 2016-06-06 20:37:41
Original
1211 people have browsed it

目前能作到的 只是将sql错误的行数写进 文本文件

我要如何将错误的行数 也写进去。更或将php 错误的讯息整个写进去档案呢

解大大给个方向

回复内容:

目前能作到的 只是将sql错误的行数写进 文本文件

我要如何将错误的行数 也写进去。更或将php 错误的讯息整个写进去档案呢

解大大给个方向

  1. Exception对象承载错误,往外抛
  2. 最外层用try catchset_exception_handler捕获,输出友好错误的同时记录Exception的信息(包含完整的callstack,里面有所有的参数,可能很大需要精简)
  3. error可以通过转换为ErrorException走一样的处理

打比方我厂通过mongodb来记录日志,这是某天的某个错误

<code>    "54d1d4e39dce4f834949f0e9": {
        "_id": {
            "$id": "54d1d4e39dce4f834949f0e9"
        },
        "message": "site.error",
        "context": {
            "uid": null,
            "uri": "\/login\/wechat\/get-userinfo",
            "exception": {
                "class": "ErrorException",
                "message": "Undefined index: openid",
                "file": "\/data\/deploy\/site\/20150130-150624\/src\/Controller\/Passport\/Oauth\/WechatOauth.php:102",
                "trace": [
                    "\/data\/deploy\/site\/20150130-150624\/src\/Controller\/Passport\/Oauth\/WechatOauth.php:102",
                    "{\"function\":\"getUserInfo\",\"class\":\"XXXX\\\\Site\\\\Controller\\\\Passport\\\\Oauth\\\\WechatOauth\",\"type\":\"::\",\"args\":[]}",
                    "\/data\/deploy\/site\/20150130-150624\/vendor\/slim\/slim\/Slim\/Route.php:462",
                    "\/data\/deploy\/site\/20150130-150624\/vendor\/slim\/slim\/Slim\/Slim.php:1326",
                    "\/data\/deploy\/site\/20150130-150624\/vendor\/slim\/slim\/Slim\/Middleware\/Flash.php:85",
                    "\/data\/deploy\/site\/20150130-150624\/vendor\/slim\/slim\/Slim\/Middleware\/MethodOverride.php:92",
                    "\/data\/deploy\/site\/20150130-150624\/vendor\/slim\/slim\/Slim\/Slim.php:1271",
                    "\/data\/deploy\/site\/20150130-150624\/public\/index.php:11"
                ]
            },
            "_trace": [
                "#0 XXXX\\Log\\Log->log() @ \/data\/deploy\/site\/20150130-150624\/vendor\/psr\/log\/Psr\/Log\/AbstractLogger.php:80",
                "#1 Psr\\Log\\AbstractLogger->warning() @ \/data\/deploy\/site\/20150130-150624\/src\/Router.php:194",
                "#2 XXXX\\Site\\Router::XXXX\\Site\\{closure}() @ :",
                "#3 call_user_func_array() @ \/data\/deploy\/site\/20150130-150624\/vendor\/slim\/slim\/Slim\/Slim.php:656",
                "#4 Slim\\Slim->callErrorHandler() @ \/data\/deploy\/site\/20150130-150624\/vendor\/slim\/slim\/Slim\/Slim.php:638",
                "#5 Slim\\Slim->error() @ \/data\/deploy\/site\/20150130-150624\/vendor\/slim\/slim\/Slim\/Slim.php:1347",
                "#6 Slim\\Slim->call() @ \/data\/deploy\/site\/20150130-150624\/vendor\/slim\/slim\/Slim\/Middleware\/Flash.php:85",
                "#7 Slim\\Middleware\\Flash->call() @ \/data\/deploy\/site\/20150130-150624\/vendor\/slim\/slim\/Slim\/Middleware\/MethodOverride.php:92",
                "#8 Slim\\Middleware\\MethodOverride->call() @ \/data\/deploy\/site\/20150130-150624\/vendor\/slim\/slim\/Slim\/Slim.php:1271",
                "#9 Slim\\Slim->run() @ \/data\/deploy\/site\/20150130-150624\/public\/index.php:11",
                "#10 {main}"
            ]
        },
        "level": 300,
        "level_name": "WARNING",
        "channel": "main",
        "datetime": {
            "sec": 1423037667,
            "usec": 0
        },
        "extra": []
    },
</code>
Copy after login

微信登陆判断不准确,信任返回结果有openid导致的notice,不看代码都能看出来吧

error_log(),可以吗?

Related labels:
php
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Issues
php data acquisition?
From 1970-01-01 08:00:00
0
0
0
PHP extension intl
From 1970-01-01 08:00:00
0
0
0
How to learn php well
From 1970-01-01 08:00:00
0
0
0
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template