首页 > 其他分享 >laravel:捕捉异常记录到日志(10.27.0)

laravel:捕捉异常记录到日志(10.27.0)

时间:2023-10-22 10:46:26浏览次数:42  
标签:laravel Pipeline Illuminate 10.27 dignews 日志 php data

一,相关文档:

https://learnku.com/docs/laravel/10.x/errors/14857#9e8f93

二,php代码:

1,代码:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 class NewsController extends Controller {     //启用事务     public function trans(Request $request) {           //启动事务          DB::beginTransaction();          $model = new News();          try {              //insert              $row1 = ['title'=>'1title','url'=>'1url'];              $model->add($row1);                  //news_id为1的主键记录已存在,会引发异常              $row2 = ['news_id'=>1,'title'=>'2title','url'=>'2url'];              $model->add($row2);                 //commit               DB::commit();               return '已提交';          } catch(\Throwable $e) {               Log::channel('business')->error($e->__toString);               //report($e);               DB::rollback();               return '已回滚';          }     }

2,说明:

捕捉到异常后需要我们自己记录,
report($e); 是用助手函数report把异常记录到laravel默认的日志文件,通常位于storage/logs/laravel.log文件
Log::channel(‘business’)->error($e->__toString); 可以自己指定日志的channel,从而记录到相应的日志中

三,查看效果

1,查看默认日志:

liuhongdi@lhdpc:/data/laravel/dignews/storage/logs$ tail -100 laravel.log
#16 /data/laravel/dignews/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle()
#17 /data/laravel/dignews/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#18 /data/laravel/dignews/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle()
#19 /data/laravel/dignews/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#20 /data/laravel/dignews/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle()
#21 /data/laravel/dignews/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#22 /data/laravel/dignews/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest()

2,查看自定义日志

liuhongdi@lhdpc:/data/laravel/logs$ tail -100 image-2023-10-19.log
#15 /data/laravel/dignews/vendor/laravel/framework/src/Illuminate/Routing/Router.php(799): Illuminate\Routing\Route->run()
#16 /data/laravel/dignews/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(141): Illuminate\Routing\Router->Illuminate\Routing\{closure}()
#17 /data/laravel/dignews/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#18 /data/laravel/dignews/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\Routing\Middleware\SubstituteBindings->handle()
#19 /data/laravel/dignews/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
...

说明:刘宏缔的架构森林—专注it技术的博客,
网站:https://blog.imgtouch.com
原文: https://blog.imgtouch.com/index.php/2023/10/19/laravel-bu-zhuo-yi-chang-ji-lu-dao-ri-zhi/
代码: https://github.com/liuhongdi/ 或 https://gitee.com/liuhongdi
说明:作者:刘宏缔 邮箱: [email protected]

四,查看laravel框架的版本:

liuhongdi@lhdpc:/data/laravel/dignews$ php artisan --version
Laravel Framework 10.27.0

标签:laravel,Pipeline,Illuminate,10.27,dignews,日志,php,data
From: https://www.cnblogs.com/architectforest/p/17780034.html

相关文章

  • Git使用-中文乱码及日志解析
    1.中文乱码问题描述:使用Git时中文显示乱码系统信息:Ubuntu22.04Git版本:2.34.1乱码现象:$gitls-files"\346\211\223\346\200\252\345\214\205.md"$gitstatusOnbranchmainYourbranchisuptodatewith'origin/main'.Untrackedfiles:(use"g......
  • laravel:定时任务(10.27.0)
    一,相关的文档:https://learnku.com/docs/laravel/10.x/scheduling/14875二,php代码:1,创建command:liuhongdi@lhdpc:/data/laravel/dignews$phpartisanmake:commandOrderStatus   INFO  Consolecommand[app/Console/Commands/OrderStatus.php]createdsucces......
  • laravel:使用tinker(10.27.0)
    一,启动与退出:liuhongdi@lhdpc:/data/laravel/dignews$phpartisantinkerPsyShellv0.11.22(PHP8.1.1—cli)byJustinHileman>exit   INFO  Goodbye.二,查询数据liuhongdi@lhdpc:/data/laravel/dignews$phpartisantinkerPsyShellv0.11.22(PHP8.1.......
  • Python入门系列20-日志logging模块
    一、概念日志是一种可以追踪某些软件运行时所发生事件的方法。软件开发人员可以在他们的代码中调用日志记录相关的方法来表明发生了某些事件,通过一个描述性的消息来描述这个事件,该消息能够可选的包含可变数据。而事件有重要性的概念,重要性被称为严重性级别。二、日志的作用通过记录......
  • 日志配置字典
    日志配置字典"""logging配置"""importos#1、定义三种日志输出格式,日志中可能用到的格式化串如下#%(name)sLogger的名字#%(levelno)s数字形式的日志级别#%(levelname)s文本形式的日志级别#%(pathname)s调用日志输出函数的模块的完整路径名,可能没有#%(filena......
  • php js + laravel + mysql开发的手术麻醉临床信息系统源码
    手术麻醉临床信息系统有着完善的临床业务功能,能够涵盖整个围术期的工作,能够采集、汇总、存储、处理、展现所有的临床诊疗资料。通过该系统的实施,能够规范麻醉科的工作流程,实现麻醉手术过程的信息数字化,自动生成麻醉的各种医疗文书,完成共享HIS、LIS、PACS和EMR等手术患者信息,从而提......
  • linux日志服务器部署
    集中式日志服务器介绍如果你负责管理数台的Linux,你得登录每一台Linux后,才能阅读其中的信息!这样是不是很麻烦??那有没有什么更好的方案呢?Linux的系统日志服务,允许你把信息传递到某一台Linux的系统日志服务中;那你就可以把一台Linux作为日志服务器(LogServer),而其他的Linux......
  • linux日志管理
    一、日志服务的介绍日志介绍程序执行的时候,可以通过标准输出(stdout,StandardOutput)与标准错误输出(stderr,StandardErrorOutput)来输送信息,用户就可以了解该程序执行时发生了什么状况;可是对于在后台执行的服务器程序,或者Linux内核本身来说,就没有办法这样做了。服务与内核启......
  • Mybatis-Plus 语句日志输出
    两种方式都是在yml文件下配置第一种方式:mybatis-plus:configuration:log-impl:org.apache.ibatis.logging.stdout.StdOutImpl这种方式会将数据也一块输出出来,遇到查询较多数据的情况会导致看不到sql语句第二种方式:logging:level:com:***......
  • laravel:开启/关闭调试模式(10.27.0)
    一,文档地址:https://learnku.com/docs/laravel/10.x/configuration/14836#701998二,设置1,.env中关于调试的默认值:APP_DEBUG=true2,关闭调试APP_DEBUG=false说明:刘宏缔的架构森林—专注it技术的博客,网站:https://blog.imgtouch.com原文: https://blog.imgtouch.com/ind......