Comments (5)
I would expect that to work - the additive
and appender
fields aren't necessary unless there are other loggers attached to the root that you don't want nickel stuff to go to. Are you seeing nickel messages still logged at trace?
from log4rs.
I found out the reason, and what exactly I'd like to have improved in the documentation: %M
prints the module from which a message comes. All the verbose output which I wanted to suppress came from hyper/mime, which hadn't been in my log config...
Here's an example which correctly moves three modules to another appender:
log.toml
[appender.bymodule]
kind = "console"
pattern = "module=%M %d %m"
[appender.stderr]
kind = "console"
pattern = "STDERR %d %m"
[root]
level = "trace"
appenders = ["stderr"]
[[logger]]
name = "nickel"
level = "trace"
appenders = ["bymodule"]
additive = false
[[logger]]
name = "hyper"
level = "trace"
appenders = ["bymodule"]
additive = false
[[logger]]
name = "mime"
level = "trace"
appenders = ["bymodule"]
additive = false
main.rs
#[macro_use]
extern crate log;
extern crate log4rs;
#[macro_use]
extern crate nickel;
use nickel::{Nickel, HttpRouter};
fn main() {
log4rs::init_file("log.toml", Default::default()).unwrap();
let mut server = Nickel::new();
server.utilize(router! {
get "**" => |_req, _res| {
debug!("my own debug message");
error!("my own error message");
"Hello world!"
}
});
server.listen("127.0.0.1:6767");
}
Cargo.toml
[package]
name = "log4rs-restrict-module"
version = "0.1.0"
authors = ["Andreas Sommer <bar@foo>"]
[dependencies.hyper]
version = "*"
default-features = false # don't build SSL
[dependencies.nickel]
version = "*"
[dependencies.log]
version = "*"
[dependencies.log4rs]
version = "*"
from log4rs.
I'm unfortunately not quite sure I know the right documentation change to make here - could you make a PR with the adjustment?
from log4rs.
I'm going to close this out, but again, feel free to open a PR with documentation improvements!
from log4rs.
The documentation update in 2c69f51 makes it clearer how to have separate loggers per module, so I'm fine with that. Thanks!
from log4rs.
Related Issues (20)
- c
- Real ip in the logs HOT 1
- Using custom appenders needs more documentation HOT 4
- Feature request logger filter
- Support for Key-Value Pairs HOT 1
- Redirect to a custom function using a custom appender
- Investigate and Resolve issues with Raw Config Deserializer HOT 1
- [bug] wrong thread id in linux HOT 6
- Publish on crates.io HOT 2
- Do you use any optimisations to log in file?
- README out of date with the 1.0 version HOT 2
- Clippy fails with log4rs HOT 2
- Resolve Deprecated Chrono API
- Refactor COLOR_MODE to OnceCell
- Increase test coverage across all modules HOT 1
- TimeTriggerConfig pub HOT 2
- Logging pattern does not depict logs as I declared it HOT 3
- How to config with tokio_tracing HOT 1
- bug: Cannot compile on Apple Silicon (arm64) - symbol not found for architecture arm64 HOT 2
- Timestamps assume UTC timezone in docker containers, ignoring TZ variable HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from log4rs.