我想更改 Mojolicious Web 服務器的默認日志記錄級別,但在閱讀檔案后我無法弄清楚如何去做。我是一個相當新的 Perl 開發人員,因為我必須將 Perl 用于特定的遺留用例——我通常在日常作業中使用 Go、Python、Java。我認為有一些“Perl 方式”可以做到這一點,由于我缺乏經驗,我無法弄清楚。
這是一個簡單的示例應用程式:
#!/usr/bin/env perl
use strict;
use warnings;
use utf8;
use Mojolicious::Lite -signatures;
get '/ping' => sub ($c) {
$c->render( json => { 'pong' => $c->param('value'), 'number' => 1 } );
};
app->start( 'daemon', '-l', 'http://localhost:8888' );
我在終端中運行它,然后從另一個終端點擊端點并得到回應:
curl "http://localhost:8888/ping?value=test"
{"number":1,"pong":"test"}
但是,在 Web 服務器終端中,我得到了這個跟蹤級別的日志記錄,我知道這是 Mojolicious 的默認日志記錄級別:
[2022-01-21 14:38:04.40413] [1628] [info] Listening at "http://localhost:8888"
Web application available at http://localhost:8888
[2022-01-21 14:38:39.06480] [1628] [trace] [sLAkASlGAvjE] GET "/ping"
[2022-01-21 14:38:39.06516] [1628] [trace] [sLAkASlGAvjE] Routing to a callback
[2022-01-21 14:38:39.06552] [1628] [trace] [sLAkASlGAvjE] 200 OK (0.000718s, 1392.758/s)
我想將日志記錄級別退回到“資訊”。
uj5u.com熱心網友回復:
您可以像這樣設定日志級別:
app->log->level('error');
此示例來自 部分中的主要Mojolicious ::Lite 檔案app。這是該檔案中 grepping日志的唯一命中。
在您的示例中,您可以在應用程式的開始或結束時執行此操作。
# ...
use Mojolicious::Lite -signatures;
app->log->level('info');
get '/ping' => sub ($c) {
$c->render( json => { 'pong' => $c->param('value'), 'number' => 1 } );
};
app->start( 'daemon', '-l', 'http://localhost:8888' );
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/420221.html
標籤:
