佬 修复一下laravel orm Log文件 如果模型casts属性字段定义成Object 写数据 日志就会报错 (Object of class Illuminate\Database\Eloquent\Casts\ArrayObject could not be converted to string) Log getValue方法兼容下object
"Error: Object of class Illuminate\\Database\\Query\\Expression could not be converted to string in /vendor/chance-fyi/operation-log/src/orm/illuminate/Log.php:90
你是在后台安装的吗,还是把代码直接复制进去的
你这个是依赖的包没有安装,通过后台安装会自动安装依赖
我用的Db写入的数据,怎么还记录日志,而且路由也不对
数据增删改都会记录日志的
那个注册 MySQL 数据库连接的解析器,是在哪里操作的??
这一步不知道怎么操作
可以放到框架的 bootstrap 里面
我是先在贴里用composer安装的,然后又在后台付款安装的。。装完了,按操作弄完,没日志出来,,还报错了
代码和模型是怎么写的,看报错是你的表名设置成 null 了
这样吗,我瞅瞅
找到这个bug的情况了。。redis队列时候会报这个错,那个表也有相应的模型的,我要怎么弄呢,版主
我的定时任务,每次都会往队列里边插入定时任务状态,队列里边做消费处理时候,就会报这个找不到表的错了,我装你这插件之前是正常的,装了就不正常了
E:\web\webnan\process\StateRegister.php(87)
这里可以看一下吗这里
先改成 Db::name()
是我的limit,还是replace有问题
还真的可以了。。
Db::table() 没有设置 name ,我后面改一下这个 bug
这玩意高并发下 应该很影响性能吧
我去,我好多地方,都写了table
一般都是管理后台需要这样的日志吧,后台应该不存在高并发
你这是只记录管理后台吗?我还以为是整个SQL的 增删改查 事务 都被监视呢。
大佬,我think-orm,Eloquent ORM还有mongodb,混着用,不影响的吧
大佬,我付款了支持你,能加个好友不,有问题发提问你,帮你多发现bug,哈哈
是记录所有的增删改,业务和后台如果在一起那确实会记录...
问题可以发在这个帖子下面,或者提个 issue ,这样大家都能看到
如果记录所有的话 会不会如果前端业务逻辑比较频繁 比如一些订单或者IM业务 那些增删改频率相当高。这个应该有所影响吧。是不是应该考虑丢入缓存后 达到数量后(或者定时)批量入mysql 更为妥当
下一个版本会增加一个打开关闭记录日志的开关,可以在前台业务的中间件中关闭日志记录
入库是在全局的后置中间件入库的 可以自己扩展
还有个问题,像这些模块下的增删查改,会记录到操作日志里边去吗?
会的,下一个版本会增加一个打开关闭记录日志的开关
现在没加。。我也没发现会记录进去
大佬,又有问题了,我的api,有写入操作,大概因为没登录,你这username字段。。为null了,所以报错了,我需要怎么隔离这部分不属于后台的api请求呢
这个你版本还没更新,我有啥办法,可以做个模块功能开关
已经修复,更新一下
大佬,我应用插件那里。。只看到卸载,没看到更新按钮
大佬,咋更新
composer require chance-fyi/operation-log
大佬,我api那部分,不想写日志,咋整,怎么设置
中间件禁用日志
\Chance\Log\facades\OperationLog::disable()
记录日志的中间件
plugin\oplog\app\middleware\AfterOperationLog::class
不要放到你的 api 上害,大佬,你在文档那里写吧,写详细些,我配置不出来啊
哦哦,我大概知道了,我中间件,没设置对应模块,用了全局
laravel ORM 使用 DB 操作 $ignoreLogFields(日志生成忽略的字段)及$doNotRecordLog(数据表不生成日志) 属性不生效
应该是没有找到对应模型,可以设置一下表模型对应关系
\Chance\Log\facades\OperationLog::setTableModelMapping
佬 没法自动构建目录所有模型与表的映射关系 手动可以
市场文档第三步命令可以自动构建
看到了 但是这个LaravelHookConnection类没看到呢 是需要自己创建吗
应用插件代码里面有
好的 了解了
佬 修复一下laravel orm Log文件 如果模型casts属性字段定义成Object 写数据 日志就会报错 (Object of class Illuminate\Database\Eloquent\Casts\ArrayObject could not be converted to string) Log getValue方法兼容下object
提个 Issue,给个可复现的代码
已提交
佬 处理下
没有复现
设置了表模型对应关系后就会复现
佬处理下 我等着用
修复了
好的 感谢大佬
佬 还有个问题
Fixed
1
佬 这块做下兼容。不是所有数组都是这个ArrayObject实例类型
不是也不走这块代码啊
普通数组是跳过了这一步 直接到了 json_decode 就会抛错,我看 tp orm那边是兼容了的
Fixed
1
安装插件后,webman-admin后台新增管理员账户,登陆后会报错
webmin-admin 后台新增一个用户,点禁用那个开关就可以复现
Fixed
好了,谢谢大佬
安装报错 proc_open(): supplied resource is not a valid stream resource
代码应该下载下来了,可以看一下
plugin\oplog\api\Install::install
逻辑,自己手动设置一下搞好了,手动 composer ,手动 copy文件,手动执行sql,无奈
用了 illuminate 的 decrement 就会这个错误报错
你的代码是怎么写的
附上代码了
已修复,更新一下