{"id":28267,"date":"2021-05-20T19:06:00","date_gmt":"2021-05-20T16:06:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=28267"},"modified":"2021-10-17T04:46:47","modified_gmt":"2021-10-17T01:46:47","slug":"hur-man-loggar-fragan-i-laravel","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/sv\/hur-man-loggar-fragan-i-laravel\/","title":{"rendered":"Hur man loggar fr\u00e5gan i Laravel"},"content":{"rendered":"<p>Vill du skriva ut fr\u00e5gan i Laravel? Eller med andra ord, vill du logga fr\u00e5gor i Laravel? B\u00e5da fr\u00e5gorna har n\u00e5got olika svar. F\u00f6r att skriva ut fr\u00e5gan kan du bara skriva ut den senast genomf\u00f6rda fr\u00e5gan och visa den i en webbl\u00e4sare. Men jag skulle rekommendera att du loggar fr\u00e5gan i Laravel. Om du g\u00f6r det sparas alla dina fr\u00e5gor i loggfilen och du kan se den n\u00e4r som helst.<\/p>\n<p>I den h\u00e4r artikeln visar jag b\u00e5da alternativen som hj\u00e4lper en anv\u00e4ndare att se fr\u00e5gorna i deras Laravel-applikation.<\/p>\n<p>N\u00e4r du utvecklar en Laravel-applikation kan du ibland st\u00f6ta p\u00e5 en situation d\u00e4r du m\u00e5ste se om den skriftliga fr\u00e5gan \u00e4r korrekt eller inte. Detta beror p\u00e5 flera sk\u00e4l &#8211; kanske f\u00e5r anv\u00e4ndarna inte en f\u00f6rv\u00e4ntad utdata, du f\u00e5r ett l\u00e5ngsamt svar fr\u00e5n en databasserver, eller s\u00e5 f\u00e5r du ingen utdata som n\u00e5got fel med din fr\u00e5ga etc. I alla dessa scenarier, om du loggar fr\u00e5gan s\u00e5 hj\u00e4lper det att fels\u00f6ka problemet.<\/p>\n<h3>Hur skriver jag ut fr\u00e5gor i Laravel?<\/h3>\n<p>Att skriva ut den senast utf\u00f6rda fr\u00e5gan \u00e4r en eng\u00e5ngsprocess. Du kan beh\u00f6va skriva ut din fr\u00e5ga i webbl\u00e4saren. Fr\u00e5gan lagras inte n\u00e5gonstans. Nedan f\u00f6ljer ett enkelt exempel f\u00f6r att skriva ut din fr\u00e5ga i Laravel.<\/p>\n<pre><code>DB::enableQueryLog();\n$arr_user = DB::table('users')-&gt;select('name', 'email as user_email')-&gt;get();\ndd(DB::getQueryLog());<\/code><\/pre>\n<p>H\u00e4r har jag anv\u00e4nt tv\u00e5 uttalanden <code>DB::enableQueryLog()<\/code>och <code>dd(DB::getQueryLog())<\/code>. Det f\u00f6rsta uttalandet m\u00f6jligg\u00f6r loggning av fr\u00e5gan, medan det andra uttalandet faktiskt skriver ut denna logg i webbl\u00e4saren. Denna fels\u00f6kningsteknik fungerar ocks\u00e5 med Laravel Eloquent.<\/p>\n<p>Man kan anv\u00e4nda den h\u00e4r metoden om de inte vill logga fr\u00e5gor. Men som sagt tidigare \u00e4r detta faktiskt inte ett bekv\u00e4mt s\u00e4tt. F\u00f6r om du f\u00f6ljer den h\u00e4r tekniken m\u00e5ste du upprepa dessa tv\u00e5 p\u00e5st\u00e5enden <code>DB::enableQueryLog()<\/code>och <code>dd(DB::getQueryLog())<\/code>f\u00f6r varje fr\u00e5ga.<\/p>\n<p>Det b\u00e4ttre alternativet \u00e4r att logga alla fr\u00e5gor i loggfilen.<\/p>\n<h3>Loggfr\u00e5ga i Laravel<\/h3>\n<p>Jag rekommenderar en teknik f\u00f6r att logga fr\u00e5gor i Laravel. Det \u00e4r ett enklare och bekv\u00e4mare s\u00e4tt f\u00f6r utvecklare. Du beh\u00f6ver inte g\u00e5 till platsen f\u00f6r varje fr\u00e5ga och skriva koden f\u00f6r loggning.<\/p>\n<p>Ist\u00e4llet beh\u00f6ver du bara redigera <code>AppServiceProvider.php<\/code>och du \u00e4r klar.<\/p>\n<p>\u00d6ppna <code>app\/Providers\/AppServiceProvider.php<\/code>filen och l\u00e4gg till tv\u00e5 fasader f\u00f6r &#8217;File&#8217; och &#8217;DB&#8217; enligt f\u00f6ljande.<\/p>\n<pre><code>use IlluminateSupportFacadesFile;\nuse IlluminateSupportFacadesDB;<\/code><\/pre>\n<p>D\u00e4refter <code>boot()<\/code>skriver du i metoden en nedanst\u00e5ende kod som loggar alla dina Laravel-fr\u00e5gor i bakgrunden.<\/p>\n<pre><code>public function boot()\n{\n\u00a0\u00a0\u00a0\u00a0if(env('APP_DEBUG')) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0DB::listen(function($query) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0File::append(\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0storage_path('\/logs\/query.log'),\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$query-&gt;sql. ' ['. implode(', ', $query-&gt;bindings). ']'. PHP_EOL\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0});\n\u00a0\u00a0\u00a0\u00a0}\n}<\/code><\/pre>\n<p>Nu, n\u00e4r en fr\u00e5ga k\u00f6rs, loggas den automatiskt i <code>storage\/logs\/query.log<\/code>filen. Anv\u00e4ndaren kan visa sina fr\u00e5gor direkt i den h\u00e4r <code>query.log<\/code>filen.<\/p>\n<p>I Laravel finns det ytterligare ett s\u00e4tt att logga fr\u00e5gorna. P\u00e5 detta s\u00e4tt lagras dina fr\u00e5geloggar i <code>storage\/logs\/laravel.log<\/code>filen. F\u00f6r att g\u00f6ra det m\u00e5ste du placera koden nedan i din <code>routes\/web.php<\/code>fil.<\/p>\n<pre><code>DB::listen(function($sql) {\n\u00a0\u00a0\u00a0\u00a0Log::info($sql-&gt;sql);\n\u00a0\u00a0\u00a0\u00a0Log::info($sql-&gt;bindings);\n\u00a0\u00a0\u00a0\u00a0Log::info($sql-&gt;time);\n});<\/code><\/pre>\n<p>Det \u00e4r allt! Nu \u00e4r det upp till dig att anv\u00e4nda n\u00e5gon av ovanst\u00e5ende metoder f\u00f6r att logga fr\u00e5gorna. Du beh\u00f6ver inte anv\u00e4nda b\u00e5da metoderna \u00e5t g\u00e5ngen.<\/p>\n<p>Det handlar om att logga fr\u00e5gorna i Laravel. Jag hoppas att den h\u00e4r artikeln kommer att vara anv\u00e4ndbar f\u00f6r din ans\u00f6kan. Dela dina tankar och f\u00f6rslag i kommentarsektionen nedan.<\/p>\n<h4>relaterade artiklar<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/sv\/hur-man-skapar-en-anpassad-404-felsida-i-laravel\/\" title=\"Hur man skapar en anpassad 404-felsida i Laravel\" >Hur man skapar en anpassad 404-felsida i Laravel<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/sv\/hur-man-integrerar-mailchimp-nyhetsbrev-i-laravel-application\/\" title=\"Hur man integrerar MailChimp nyhetsbrev i Laravel Application\" >Hur man integrerar MailChimp nyhetsbrev i Laravel Application<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Inspelningsk\u00e4lla:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>I den h\u00e4r artikeln studerar vi hur man loggar fr\u00e5gor i Laravel. I denna utvecklingsfas \u00e4r det bra att ha en logg med fr\u00e5gor. Det hj\u00e4lper oss att ta reda p\u00e5 fel, fel i v\u00e5ra fr\u00e5gor. Laravel ger ett bekv\u00e4mt s\u00e4tt att logga fr\u00e5gor i v\u00e5r applikation.<\/p>\n","protected":false},"author":1,"featured_media":21749,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[503],"tags":[850],"class_list":["post-28267","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-laravel2-10","tag-affiai-sv"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/posts\/28267","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/comments?post=28267"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/posts\/28267\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/media\/21749"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/media?parent=28267"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/categories?post=28267"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/tags?post=28267"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}