Comments (5)
You probably know about ending lines with ; when playing around with defintions.
Given that the Julia web stack is a hierarchy of dependencies, we need to be able to adapt or suppress messages from further down the stack.
To find the actual source of some REPL output can be a bit tricky. It may require that you catch all output and add a header.
Here's an example I believe can be adapted for your context. There are some further examples of suppressing and adapting output in WebSockets.jl.
using Logging
import Logging.shouldlog
function shouldlog(::ConsoleLogger, level, _module, group, id)
if _module == Mux.HTTP.Servers
if level == Logging.Warn || level == Logging.Info
return false
else
return true
end
else
return true
end
end
from mux.jl.
The Julia webstack libraries I know are not up to par for "production use", but to my knowledge they are the fastest solution when interfacing with Julia processes (and possibly other things, but I would go for user-friendliness and stack-overflow coverage in that case). In core packages, user-friendliness will be sacrificed for speed, stability and transparency. More user-facing code can add user-friendliness. Even if those users are other package developers.
Unfortunately, Logging.jl is a very recent addition to the standard library and therefore not widely used. This is very likely to improve if we keep submitting small issues and pull requests, e.g. replacing @info with @debug or adding examples.
By the way, Mux.jl has more dependencies, see 'REQUIRE'. And I don't favour using environment variables for controlling the output, but it's very nice if the setting can be changed while a server is running.
from mux.jl.
@hustf Thanx, I'll try this.
Of course, I know, that most of any language library has a lot of deps. But in most languages, log level is either configurable or even get destroyed by minifier (JavaScript included) to avoid this noise. By default, for sure, in production use (env variable?) this should be disabled. Or is there any advantage by using such things as webservers in REPL? 😆
I also know that the lib has only one dependency -- HTTP. So, I believe, the real problem has to be found there.
from mux.jl.
In case it's not clear from the thread, @hustf's solution works. At least it did for me.
from mux.jl.
Mux.jl does not contain any at-info
or at-debug
macros; it is HTTP.jl that does. The only uses of print
/println
are in error cases, which should probably be replaced with @error
or @warn
, as appropriate.
from mux.jl.
Related Issues (20)
- TagBot trigger issue HOT 6
- Add me as a collaborator? HOT 3
- Road to v1 HOT 1
- Error on first request from Firefox HOT 9
- installing Mux v0.7.4 downgrades HTTP v0.9.2 HOT 2
- is Mux.jl an appropriate home for HTTP/Revise glue? HOT 7
- public interface for regression tests? HOT 4
- No :socket key in websocket server object HOT 3
- How to combine method & route ? HOT 1
- `serve` method to integrate websockets broken
- Rest api? HOT 1
- Is there WSS option in Mux v1.0.1? HOT 1
- Precompiling hangs on latest Julia nightly HOT 1
- Feature Request: let splitpath also handle the query intelligently
- Let `response` return a `HTTP.Response` object HOT 6
- Make `http_handler` part of `defaults` and `ws_handler` part of `wdefaults` HOT 1
- WebSockets example in README is slightly broken HOT 2
- Tests broken due to HTTP.jl
- Disable AppVeyor builds
- Tag a version 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 mux.jl.