mirror of
https://github.com/mailscope/kumomta.git
synced 2026-09-10 20:42:14 +00:00
refactor: move mod_kumo logging functions
This commit is contained in:
@@ -4,12 +4,13 @@ use anyhow::{anyhow, Context};
|
||||
use async_channel::{Receiver, Sender};
|
||||
use bounce_classify::{BounceClass, BounceClassifier, BounceClassifierBuilder};
|
||||
use chrono::Utc;
|
||||
use config::load_config;
|
||||
use config::{any_err, from_lua_value, get_or_create_module, load_config};
|
||||
use kumo_log_types::rfc3464::ReportAction;
|
||||
pub use kumo_log_types::*;
|
||||
use kumo_server_runtime::rt_spawn_non_blocking;
|
||||
use message::{EnvelopeAddress, Message};
|
||||
use minijinja::{Environment, Template};
|
||||
use mlua::{Lua, Value as LuaValue};
|
||||
use once_cell::sync::{Lazy, OnceCell};
|
||||
use rfc5321::{EnhancedStatusCode, Response};
|
||||
use serde::Deserialize;
|
||||
@@ -894,3 +895,33 @@ impl LogThreadState {
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
|
||||
pub fn register(lua: &Lua) -> anyhow::Result<()> {
|
||||
let kumo_mod = get_or_create_module(lua, "kumo")?;
|
||||
|
||||
kumo_mod.set(
|
||||
"configure_bounce_classifier",
|
||||
lua.create_function(move |lua, params: LuaValue| {
|
||||
let params: ClassifierParams = from_lua_value(lua, params)?;
|
||||
params.register().map_err(any_err)
|
||||
})?,
|
||||
)?;
|
||||
|
||||
kumo_mod.set(
|
||||
"configure_local_logs",
|
||||
lua.create_function(move |lua, params: LuaValue| {
|
||||
let params: LogFileParams = from_lua_value(lua, params)?;
|
||||
Logger::init(params).map_err(any_err)
|
||||
})?,
|
||||
)?;
|
||||
|
||||
kumo_mod.set(
|
||||
"configure_log_hook",
|
||||
lua.create_function(move |lua, params: LuaValue| {
|
||||
let params: LogHookParams = from_lua_value(lua, params)?;
|
||||
Logger::init_hook(params).map_err(any_err)
|
||||
})?,
|
||||
)?;
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
@@ -228,6 +228,7 @@ async fn run(opts: Opt) -> anyhow::Result<()> {
|
||||
for func in [
|
||||
crate::mod_kumo::register,
|
||||
crate::spool::register,
|
||||
crate::logging::register,
|
||||
data_loader::register,
|
||||
domain_map::register,
|
||||
message::dkim::register,
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
use crate::egress_path::EgressPathConfig;
|
||||
use crate::egress_source::{EgressPool, EgressSource};
|
||||
use crate::http_server::HttpListenerParams;
|
||||
use crate::logging::{ClassifierParams, LogFileParams, LogHookParams};
|
||||
use crate::queue::QueueConfig;
|
||||
use crate::smtp_server::{EsmtpDomain, EsmtpListenerParams, RejectError};
|
||||
use anyhow::Context;
|
||||
@@ -74,30 +73,6 @@ pub fn register(lua: &Lua) -> anyhow::Result<()> {
|
||||
})?,
|
||||
)?;
|
||||
|
||||
kumo_mod.set(
|
||||
"configure_bounce_classifier",
|
||||
lua.create_function(move |lua, params: Value| {
|
||||
let params: ClassifierParams = from_lua_value(lua, params)?;
|
||||
params.register().map_err(any_err)
|
||||
})?,
|
||||
)?;
|
||||
|
||||
kumo_mod.set(
|
||||
"configure_local_logs",
|
||||
lua.create_function(move |lua, params: Value| {
|
||||
let params: LogFileParams = from_lua_value(lua, params)?;
|
||||
crate::logging::Logger::init(params).map_err(any_err)
|
||||
})?,
|
||||
)?;
|
||||
|
||||
kumo_mod.set(
|
||||
"configure_log_hook",
|
||||
lua.create_function(move |lua, params: Value| {
|
||||
let params: LogHookParams = from_lua_value(lua, params)?;
|
||||
crate::logging::Logger::init_hook(params).map_err(any_err)
|
||||
})?,
|
||||
)?;
|
||||
|
||||
kumo_mod.set(
|
||||
"start_http_listener",
|
||||
lua.create_async_function(|lua, params: Value| async move {
|
||||
|
||||
Reference in New Issue
Block a user