Comments (1)
This is an older issue, which we've been punting on for a while.
The bullets are:
- Logging in Colossus is not very complete, only a few components have some level of logging
- These classes tend to be Actor based, and use Akka logging for their logging
- There are a lot of components, which are not Actor based and hence do not use logging, since using Akka loggers outside of Actors feels a bit clumsy(my own thoughts)
- Personally, I've always felt somewhat annoyed that I have to manage 2 different logging parameters when using Akka(ie: akka log level and an SLF4J level as well)
Possible implementations:
-
Use SLF4J loggers exclusively, even within Actors. This addresses the bulk of the points above. We could just include SLF4J and use it within non Actor based components, but I'm not a fan of mixing logging systems like that.
-
Akka logging does have nice call by name parameters, which will lazily evaluate log messages. I like that, and we could create our own Logging trait(similar to what we have here internally). This Logging trait could just wrap an SLF4J logger, and we could then use that throughout the framework
We still need to talk about what we want to capture at each level. However, this ticket can be broken into many smaller tickets:
-
swap to SL4J, create basic Logging harness, swap all existing logging over to this
-
ticket for each major component/layer that needs some logging love.
from colossus.
Related Issues (20)
- Adding functionality to specify which IP address will be bind to when starting the server. HOT 1
- 100-continue is not supported HOT 2
- Document how to test metrics
- Inconsistency between redis and memcache interfaces HOT 2
- Logged error messages doesn't include the type of the errors (version 0.10) HOT 1
- Run scalafmt on colossus
- Colossus doesn't check existence of Host header HOT 4
- Benchmark latest colossus vs techempower version HOT 2
- Revisit how we handle http headers HOT 4
- maxResponseSize in Future Clients effectively limited to 10 MB by bytes Parser HOT 1
- Update of TechEmpower web framework benchmark for latest Colossus version HOT 7
- Http Header DateFormat Locale HOT 1
- Remove nscala-time HOT 1
- Update Load Balancer clients
- Obligatory example on page HOT 4
- Pull #672 request needs to be reviewed HOT 3
- Ask scala-steward to help you keeping library dependencies and sbt plugins up-to-date
- Inactivity HOT 3
- Release for 2.13.0 wanted HOT 1
- HttpServer can not work when the ActorSystem name contains underscore
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 colossus.