如何解决在 Slim 微框架中使用 Monolog 记录器,不会输出错误,但不会创建或写入日志文件
我之前使用过 Monologing 并且没有遇到问题但是这个应用程序没有创建日志文件即使我在整个应用程序中有 monolog 警告和通知但没有创建任何内容也可能值得注意的是我有会话在“var”文件中创建了变量但会话文件,但是我不确定这是否是同一问题。我使用 xampp 作为我的开发环境。
没有输出错误,我有 var_dump 记录器以确保它已正确创建并且那里似乎没有问题。
这是文件结构:
任何帮助将不胜感激
/* Settings file */
// Get log file path
$log_file_path = '/Football_Trivia_Game/logs/';
// Define log file path
define('LOG_FILE_PATH',$log_file_path);
/* Dependencies.php */
use Monolog\Logger;
use Monolog\Handler\StreamHandler;
use Monolog\Handler\FingersCrossedHandler;
// Create container for two different kind of loggers
// One logger will handles notices and the other handles warning
$container['logger'] = function() {
// Instantiate logger
$logger = new Logger('logger');
// Notices logger
// Set notices log path
$notices_log = LOG_FILE_PATH . 'notices.log';
// Create stream handler for notices logger
$stream_notices = new StreamHandler($notices_log,Logger::NOTICE);
// Push stream handler into logger object
$logger->pushHandler($stream_notices);
// Warning logger
// Set warning log path
$warning_log = LOG_FILE_PATH . 'warnings.log';
// Create stream handler for warnings logger
$stream_warnings = new StreamHandler($warning_log,Logger::WARNING);
// Push stream handler into logger object
$logger->pushHandler($stream_warnings);
$logger->pushProcessor(function ($record) {
$record['context']['sid'] = session_id();
return $record;
});
// Return looger
return $logger;
};
/* This is an example of an attempt to use the logger in the database connection /*
try {
$pdo_handle = new \PDO($host_details,$username,$password,$pdo_attributes);
$this->db_handle = $pdo_handle;
$this->logger->notice("Connected to database successfully!");
}
catch(\PDOException $exception_object) {
trigger_error('Error connection to the database');
$pdo_error = 'Error connection to the database';
$this->logger->warning("Failed to connect to database!");
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。