refactor: move mod_kumo logging functions

This commit is contained in:
Wez Furlong
2023-07-20 13:18:38 -07:00
parent 6629c980ba
commit ca14d0a49f
3 changed files with 33 additions and 26 deletions
+32 -1
View File
@@ -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(())
}
+1
View File
@@ -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,
-25
View File
@@ -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 {