Comments (3)
Hmmm. The core problem isn't that we're creating and destroying methods, it's actually that we're not creating any methods; all that happens is log.info gets assigned to a bound version of console.info, when you call setLevel, or a single noop method that gets assigned to it instead (see loglevel.js lines 124-126)
This can't stop happening; doing that rather than wrapping the function in a method that looks at the level and then calls the appropriate method is what stops it from clobbering the stacktraces. If you wrap the methods, then chrome and firefox shows the message as coming from inside loglevel, rather than from whichever line you actually called it from (which is extremely annoying).
I do see you use case though, that makes sense. Any other suggestions for methods to fix this?
from loglevel.
I haven't thought about the stacktraces consideration at all, that is definitely important. I don't have any suggestions for the moment. Will have another look later on.
from loglevel.
For now I'm going to close this. Do feel free to shout (either @sporto or anybody else) if you disagree, I'm very happy to reopen it if anybody can think of any other options that do support this use case.
from loglevel.
Related Issues (20)
- Dynamic Log level settings in Browser Console HOT 1
- Log.error should stringy the error object HOT 1
- GDPR: Add an option to disable cookie persistence HOT 4
- Is `console.log()` reference redefiend by loglevel? HOT 2
- Keep source(file:line) remain the same when methodFactory is been called. HOT 4
- log is not defined when attempting setLevel() in console HOT 3
- Programmatic log levels HOT 1
- Configurable persistence HOT 4
- methodFactory logLevel parametr has always same value HOT 2
- Show filename and line of logging code HOT 2
- Would you consider deprecating in favor of Roarr? HOT 2
- loglevel print duplicate log in React component HOT 5
- Is it possible to import Loglevel as an ES module in client-side javascript? HOT 5
- Possibility to save log output to file HOT 4
- current npm web page for loglevel shows no documentation at all HOT 3
- LogLevel output doesn't show when running in a test HOT 11
- LogLevel `trace`, `debug` and `info` not shown anymore on Google Chrome HOT 2
- Log to a file HOT 1
- Feature/Enhancement: add a level between 'debug' and 'trace' HOT 1
- Is it possible to enable multiple plugins? HOT 2
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 loglevel.