aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-08-09 11:00:16 +0900
committernsfisis <nsfisis@gmail.com>2026-08-09 11:00:16 +0900
commit0b737de495e9a8530a6a32ce2799dc49f3e5786f (patch)
treed5df2a4f57028fcc1d4ce63b7d5491f1a092228b
parent24b40ddf5c7c94f1ce86f66bb73f9e17d380a978 (diff)
downloadphp-shirabe-0b737de495e9a8530a6a32ce2799dc49f3e5786f.tar.gz
php-shirabe-0b737de495e9a8530a6a32ce2799dc49f3e5786f.tar.zst
php-shirabe-0b737de495e9a8530a6a32ce2799dc49f3e5786f.zip
refactor(io): move LogLevel into base_io
LogLevel has no user outside BaseIO, so it lives next to its only consumer and the psr crate tree is dropped. The log() level parameter becomes &str now that the constants are compared directly. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
-rw-r--r--crates/shirabe-external-packages/src/lib.rs1
-rw-r--r--crates/shirabe-external-packages/src/psr.rs3
-rw-r--r--crates/shirabe-external-packages/src/psr/log.rs5
-rw-r--r--crates/shirabe-external-packages/src/psr/log/log_level.rs15
-rw-r--r--crates/shirabe-external-packages/src/psr/log/logger_interface.rs13
-rw-r--r--crates/shirabe/src/io/base_io.rs87
6 files changed, 31 insertions, 93 deletions
diff --git a/crates/shirabe-external-packages/src/lib.rs b/crates/shirabe-external-packages/src/lib.rs
index 0c371521..fffadfe6 100644
--- a/crates/shirabe-external-packages/src/lib.rs
+++ b/crates/shirabe-external-packages/src/lib.rs
@@ -1,4 +1,3 @@
pub mod composer;
-pub mod psr;
pub mod seld;
pub mod symfony;
diff --git a/crates/shirabe-external-packages/src/psr.rs b/crates/shirabe-external-packages/src/psr.rs
deleted file mode 100644
index 1e6bbb8c..00000000
--- a/crates/shirabe-external-packages/src/psr.rs
+++ /dev/null
@@ -1,3 +0,0 @@
-pub mod log;
-
-pub use log::*;
diff --git a/crates/shirabe-external-packages/src/psr/log.rs b/crates/shirabe-external-packages/src/psr/log.rs
deleted file mode 100644
index 17d71b75..00000000
--- a/crates/shirabe-external-packages/src/psr/log.rs
+++ /dev/null
@@ -1,5 +0,0 @@
-pub mod log_level;
-pub mod logger_interface;
-
-pub use log_level::*;
-pub use logger_interface::*;
diff --git a/crates/shirabe-external-packages/src/psr/log/log_level.rs b/crates/shirabe-external-packages/src/psr/log/log_level.rs
deleted file mode 100644
index fd6c128a..00000000
--- a/crates/shirabe-external-packages/src/psr/log/log_level.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-//! ref: composer/vendor/psr/log/Psr/Log/LogLevel.php
-
-#[derive(Debug, Clone, PartialEq, Eq)]
-pub struct LogLevel;
-
-impl LogLevel {
- pub const EMERGENCY: &'static str = "emergency";
- pub const ALERT: &'static str = "alert";
- pub const CRITICAL: &'static str = "critical";
- pub const ERROR: &'static str = "error";
- pub const WARNING: &'static str = "warning";
- pub const NOTICE: &'static str = "notice";
- pub const INFO: &'static str = "info";
- pub const DEBUG: &'static str = "debug";
-}
diff --git a/crates/shirabe-external-packages/src/psr/log/logger_interface.rs b/crates/shirabe-external-packages/src/psr/log/logger_interface.rs
deleted file mode 100644
index fbaba75b..00000000
--- a/crates/shirabe-external-packages/src/psr/log/logger_interface.rs
+++ /dev/null
@@ -1,13 +0,0 @@
-//! ref: composer/vendor/psr/log/Psr/Log/LoggerInterface.php
-
-pub trait LoggerInterface {
- fn emergency(&self, message: &str, context: &[(&str, &str)]);
- fn alert(&self, message: &str, context: &[(&str, &str)]);
- fn critical(&self, message: &str, context: &[(&str, &str)]);
- fn error(&self, message: &str, context: &[(&str, &str)]);
- fn warning(&self, message: &str, context: &[(&str, &str)]);
- fn notice(&self, message: &str, context: &[(&str, &str)]);
- fn info(&self, message: &str, context: &[(&str, &str)]);
- fn debug(&self, message: &str, context: &[(&str, &str)]);
- fn log(&self, level: &str, message: &str, context: &[(&str, &str)]);
-}
diff --git a/crates/shirabe/src/io/base_io.rs b/crates/shirabe/src/io/base_io.rs
index 52ef9a82..4b416413 100644
--- a/crates/shirabe/src/io/base_io.rs
+++ b/crates/shirabe/src/io/base_io.rs
@@ -7,13 +7,26 @@ use crate::util::ProcessExecutor;
use crate::util::Silencer;
use indexmap::IndexMap;
use shirabe_external_packages::composer::pcre::Preg;
-use shirabe_external_packages::psr::log::LogLevel;
use shirabe_php_shim::{
JSON_INVALID_UTF8_IGNORE, JSON_UNESCAPED_SLASHES, JSON_UNESCAPED_UNICODE, PhpMixed,
- UnexpectedValueException, array_merge, in_array_loose, in_array_strict, json_encode_ex,
- php_regex,
+ UnexpectedValueException, array_merge, in_array_strict, json_encode_ex, php_regex,
};
+/// ref: composer/vendor/psr/log/Psr/Log/LogLevel.php
+#[derive(Debug, Clone, PartialEq, Eq)]
+pub struct LogLevel;
+
+impl LogLevel {
+ pub const EMERGENCY: &'static str = "emergency";
+ pub const ALERT: &'static str = "alert";
+ pub const CRITICAL: &'static str = "critical";
+ pub const ERROR: &'static str = "error";
+ pub const WARNING: &'static str = "warning";
+ pub const NOTICE: &'static str = "notice";
+ pub const INFO: &'static str = "info";
+ pub const DEBUG: &'static str = "debug";
+}
+
fn log_context(context: &[(&str, &str)]) -> IndexMap<String, PhpMixed> {
context
.iter()
@@ -387,70 +400,38 @@ pub trait BaseIO: IOInterface {
}
fn emergency(&self, message: &str, context: &[(&str, &str)]) {
- self.log(
- PhpMixed::String(LogLevel::EMERGENCY.to_string()),
- message,
- context,
- );
+ self.log(LogLevel::EMERGENCY, message, context);
}
fn alert(&self, message: &str, context: &[(&str, &str)]) {
- self.log(
- PhpMixed::String(LogLevel::ALERT.to_string()),
- message,
- context,
- );
+ self.log(LogLevel::ALERT, message, context);
}
fn critical(&self, message: &str, context: &[(&str, &str)]) {
- self.log(
- PhpMixed::String(LogLevel::CRITICAL.to_string()),
- message,
- context,
- );
+ self.log(LogLevel::CRITICAL, message, context);
}
fn error(&self, message: &str, context: &[(&str, &str)]) {
- self.log(
- PhpMixed::String(LogLevel::ERROR.to_string()),
- message,
- context,
- );
+ self.log(LogLevel::ERROR, message, context);
}
fn warning(&self, message: &str, context: &[(&str, &str)]) {
- self.log(
- PhpMixed::String(LogLevel::WARNING.to_string()),
- message,
- context,
- );
+ self.log(LogLevel::WARNING, message, context);
}
fn notice(&self, message: &str, context: &[(&str, &str)]) {
- self.log(
- PhpMixed::String(LogLevel::NOTICE.to_string()),
- message,
- context,
- );
+ self.log(LogLevel::NOTICE, message, context);
}
fn info(&self, message: &str, context: &[(&str, &str)]) {
- self.log(
- PhpMixed::String(LogLevel::INFO.to_string()),
- message,
- context,
- );
+ self.log(LogLevel::INFO, message, context);
}
fn debug(&self, message: &str, context: &[(&str, &str)]) {
- self.log(
- PhpMixed::String(LogLevel::DEBUG.to_string()),
- message,
- context,
- );
+ self.log(LogLevel::DEBUG, message, context);
}
- fn log(&self, level: PhpMixed, message: &str, context: &[(&str, &str)]) {
+ fn log(&self, level: &str, message: &str, context: &[(&str, &str)]) {
let mut message_str = message.to_string();
if !context.is_empty() {
@@ -467,34 +448,28 @@ pub trait BaseIO: IOInterface {
}
}
- let level_str = level.as_string().unwrap_or("");
- if in_array_loose(
- level.clone(),
- &[
- PhpMixed::String(LogLevel::EMERGENCY.to_string()),
- PhpMixed::String(LogLevel::ALERT.to_string()),
- PhpMixed::String(LogLevel::CRITICAL.to_string()),
- PhpMixed::String(LogLevel::ERROR.to_string()),
- ],
+ if matches!(
+ level,
+ LogLevel::EMERGENCY | LogLevel::ALERT | LogLevel::CRITICAL | LogLevel::ERROR
) {
self.write_error3(
&format!("<error>{}</error>", message_str),
true,
io_interface::NORMAL,
);
- } else if level_str == LogLevel::WARNING {
+ } else if level == LogLevel::WARNING {
self.write_error3(
&format!("<warning>{}</warning>", message_str),
true,
io_interface::NORMAL,
);
- } else if level_str == LogLevel::NOTICE {
+ } else if level == LogLevel::NOTICE {
self.write_error3(
&format!("<info>{}</info>", message_str),
true,
io_interface::VERBOSE,
);
- } else if level_str == LogLevel::INFO {
+ } else if level == LogLevel::INFO {
self.write_error3(
&format!("<info>{}</info>", message_str),
true,