Uninote
Uninote
用户根目录
每日点滴
 log reader/query/storage 日志查询工具
log reader/query/storage 日志查询工具
log parser/ana 
http://a.add.my/log_storage/
访问 GUI 时触发:ana.php 一次性分析处理所有日志 
lv1= lv2= type=

log reader config

已经内联分析,查询时即执行 ana。
---------- local:
<?php
$g_config["pwd"] = "root";
/*日志解析路径*/
$g_config['item'] = [
    [
        "api" => "mynote_log", //模块名称
        "path" => "E:/uninote/mynote/basic/runtime/seaslog/default" //实际情况日志路径
    ],
    [
        "api" => "mynote_login",
        "path" => "E:/uninote/mynote/basic/runtime/seaslog/login"
    ],
    [
        "api" => "mynote_request",
        "path" => "E:/uninote/mynote/basic/runtime/logs/logs.txt"
    ]
];
---------- online:
<?php
$g_config["pwd"] = "root123.";
/*日志解析路径*/
$g_config['item'] = [
    [
        "api" => "mynote_log", //模块名称
        "path" => "/home/www/mynote/basic/runtime/seaslog/default" //实际情况日志路径
    ],
    [
        "api" => "mynote_login",
        "path" => "/home/www/mynote/basic/runtime/seaslog/login"
    ],
    [
        "api" => "mynote_request",
        "path" => "/home/www/mynote/basic/runtime/logs/logs.txt"
    ]
];
lv1= lv2= type=

log query 部署

log reader config 
nginx config: E:\back\git\mynote\online\nginx\vhost\additional_item_82.conf
sql/*.sql 初始化
lv1= lv2= type=

log query design

记录、分析、查看
user mynote_login mynote_request mynote_log
筛选(filter):按人、时间
request.id 显示在头部(红色),log.id 显示在每条日志中(绿色区域)
日志内容显示在蓝色区域
post参数显示在黄色区域,可以直接复制到api/tests,进行调试
过滤条件(每张表可能都有过滤字段):
uid, 手机号、reqnum、时间段
message like
uri
请求消耗时间 > 200ms
要点:
查询的主要脉络应该是request表,但request可能不和任何user、login(无登录记录)、log(此request无任何日志输出)表关联
查询结果排序:
按request id排序,则无法按照日志发生的先后顺序显示;
按log id排序,因为有的request无log,因此此类request显示有问题。
解决方案:
lv1= lv2= type=todo
cyb:使用日志时间排序
IFNULL(log.datetime,r.datetime) AS 记录时间,
lv1=mynote lv2= type=todo

每次变换reqnum,自动插入分隔符号

每个request的相同信息,都显示在此分隔符中:
user 相关、请求相关(时间、uri。。)
根据sessionid找user时,不能简单的做表关联,需要根据时间来找到唯一的用户,或者没有用户
lv1=mynote lv2= type=todo

日志内容读取限制

不要超过700字节(可配置),超过点可以点击链接查看详细内容
lv1=mynote lv2= type=

记录上次的request id;下次刷新时只取新的。

lv1=mynote lv2= type=

请求时间

1、request表加入请求时间字段,同样毫秒级别;建立索引
2、不传参数,默认只查询30分钟内

misc todo

lv1= lv2= type=todo
多余行不要
<!--                        <tr>-->
<!--                            <td colspan="--><?//= $field_num; ?><!--"></td>-->
<!--                        </tr>-->
api请求URL(->请求URL) 等字段名称优化
这个没有日志:
http://dev.rongyipiao.com/link/take/lib/php/upload.php?guid=1535876647528
lv1=mynote lv2= type=todo

log_storage.php 代码分离

controller & view
view只是模板,只负责填数据,除了foreach,其他控制模块尽量都不使用
仿照db differ
从mynote移动到additional项目
lv1= lv2= type=todo

查看时触发刷新日志

ana.php 一次性分析处理所有日志 
lv1= lv2= type=todo

分析时数据库出错要报错。

比如:insert失败(字段长度不够、类型不匹配、字段缺失)、连接出错
lv1= lv2= type=todo

三张表都换为北京时间

lv1= lv2= type=todo

post参数显示验证

验证所有utf8编码都能够正常解析、显示
lv1= lv2= type=todo

这里不要默认填时间

2 点击重置也没有效果
手动删除时间后,外面的显示还有问题:
重置时恢复半小时
lv1= lv2= type=

日志内容最大高度设置

配置修改,点击保存:修改到 url,并重新加载页面
SHA-1: 7d0fa6905ea6588accc9f548299a909dfd7b73e4
* 日志内容最大高度(不设置则不限制高度)

log_ana

log_viewer

点赞(0) 阅读(20) 举报
目录
标题