Yes, it appears you are misunderstanding.

I am aware that you can (and can only) disable the log level for everything 
at once. Making all your logs run at :info because of a library logging a 
lot at debug is not a good solution.

On Friday, December 1, 2017 at 8:05:42 PM UTC-8, Allen Madsen wrote:
>
> I could be misunderstanding you, but you seem to be implying that every 
> library you use has to be configured not to log at the debug level. That's 
> not actually the case. If you put `config :logger, level: :info` in your 
> config.exs, your code and every dependency you have will log at the info 
> level. It doesn't matter if a dependency exposes an application.
>
> Allen Madsen
> http://www.allenmadsen.com
>
> On Fri, Dec 1, 2017 at 8:18 PM, Isaac Whitfield <[email protected] 
> <javascript:>> wrote:
>
>> Hey Pedro,
>>
>> I've carried out an informal poll with various people (5-10 developers) 
>> "what do you expect a default log level to be?" and the answer was *always* 
>> "info". These responses came from developers with backgrounds of Java, 
>> Node.js and C/C++. Everyone agreed with the notion that debug type logs 
>> should be opt-in, rather than opt-out. Your point about the developer 
>> turning it off is exactly what I want to avoid in this case; who wants to 
>> include a library only to see logging everywhere and then have to figure 
>> out how to turn it off? Not a great experience.
>>
>> The logging interface thing is moot for the case I'm talking about, I 
>> think. I'm talking about logging messages internally in a library that can 
>> be used to debug things in user-land on an as-needed basis, not something 
>> that requires a full logging setup (that's overkill). The Ruby logger does 
>> support what you say and logs everything by default (which I assume is why 
>> Elixir does it too). Maybe this is the "other log libraries" you're 
>> referencing? Their docs actually state that debug is "low-level information 
>> for developers". I find that this is actually misleading; if it's only for 
>> developers, why is it on by default for end-users?
>>
>> I'm not necessarily arguing that debug should be replaced as the default; 
>> if it's familiar to those coming from Ruby then that's fine (and it's 
>> easier for backwards compatibility). However I do think that not adding 
>> trace/verbose below debug is a mistake and an opportunity to be familiar 
>> for those not coming from Ruby. The overhead to adding a new level is 
>> seemingly quite minimal and the use case is totally valid (with no good 
>> alternatives that I can find).
>>
>> Thank you!
>> IW
>>
>> On Friday, December 1, 2017 at 9:59:48 AM UTC-8, Pedro Medeiros wrote:
>>>
>>> Hi Isaac, thanks for the long explanation.
>>>
>>> "Debug should not log by default (i.e. the default application log 
>>> level should be info). This is very familiar coming from other languages
>>> "
>>> I find that affirmation a little strange, but as long as I remember the 
>>> logging tools that I've used the default log level is debug. Specially for 
>>> a language usage. The default logging should keep on debug level that the 
>>> developer should turn off deploying applications.
>>>
>>> I don't see the reason to introduce a log level deeper than debug. The 
>>> other log libraries that I use has debug as their lowest level.
>>>
>>> One thing that can be done in your case is accept other log libraries at 
>>> your library. once is initialized. I'm working now with ruby-kafka and I 
>>> kind like its approach 
>>> https://github.com/zendesk/ruby-kafka#producing-messages-from-a-rails-application
>>>  
>>> . Making it possible to introduce any logger interface that you want as 
>>> long as it implements the interface.
>>>
>>>
>>> 2017-11-30 17:11 GMT-05:00 Isaac Whitfield <[email protected]>:
>>>
>>>> Hi all!
>>>>
>>>> This is kinda hard to word, so hopefully this is clear. I'm not really 
>>>> demanding a change, but if people agree I think it would be good going 
>>>> forwards:
>>>>
>>>> Say you're writing an Elixir library (which may or may not have an 
>>>> application started), and you have something which might do something 
>>>> worth 
>>>> noting. You don't know if it's relevant yet, but if it happens in userland 
>>>> (i.e. when someone downloaded your lib from Hex) it would be good to know, 
>>>> even just for context. Think of the use case where someone sees weird 
>>>> behaviour and you need to look at these types of logs to check it out; but 
>>>> they're too noisy to be on by default. The lowest level we have available 
>>>> to us is debug, which still appears by default. Nobody wants potentially 
>>>> noisy logs by default.
>>>>
>>>> Therefore, I'd like to suggest any of the following (although I'm 
>>>> really opening this thread for a generally good solution):
>>>>
>>>> 1. Debug should not log by default (i.e. the default application log 
>>>> level should be info). This is very familiar coming from other languages, 
>>>> and actually fits the name more (if something logs when you're not 
>>>> debugging, it's not a debug log). This is a longer term change as it's 
>>>> obviously "breaking".
>>>> 2. Introduce a new log level designed for this use case (perhaps 
>>>> "trace"?) which is off by default (due to the default level being debug); 
>>>> i.e. a user has to turn it on to see any of the logs (and they're removed 
>>>> at compile time otherwise). This one appears to be straightforward to add 
>>>> in the 1.x lineage.
>>>> 3. ??? you tell me, I'm not really sure how else to deal with it 
>>>> currently.
>>>>
>>>> I'd expect that a lot of readers will jump to the concept of the 
>>>> application configuration; but refer to the note that not all libraries 
>>>> have an application backing them, and having to add one just for this is a 
>>>> pain, along with the inevitable bindings you'll have to add for your 
>>>> logging. Add that to the fact that a user has to go out of their way to 
>>>> turn them off and it makes it an undesirable solution: "why am I seeing 
>>>> all 
>>>> of these logs?!", etc. This wouldn't be an issue with a logging level 
>>>> that's hidden by default.
>>>>
>>>> I feel like this is something lacking in the existing Logger, and it 
>>>> becomes especially evident when coming from other languages where this is 
>>>> straightforward (the "debug" module in Node.js is a good example of what 
>>>> I'd like, or any of the Java loggers). I would also note that people 
>>>> looking at this issue need to keep the concept of 
>>>> libraries/packages/modules in mind; this is not something that's relevant 
>>>> in your own projects as you can just change it yourself. 
>>>>
>>>> Thanks (as ever) for all feedback!
>>>> IW
>>>>
>>>> -- 
>>>> You received this message because you are subscribed to the Google 
>>>> Groups "elixir-lang-core" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send 
>>>> an email to [email protected].
>>>> To view this discussion on the web visit 
>>>> https://groups.google.com/d/msgid/elixir-lang-core/89b48978-4a74-460a-b9ea-6b4f40d56935%40googlegroups.com
>>>>  
>>>> <https://groups.google.com/d/msgid/elixir-lang-core/89b48978-4a74-460a-b9ea-6b4f40d56935%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>> .
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>>
>>>
>>> -- 
>>> Pedro Henrique de Souza Medeiros
>>> ----------------------------------
>>> Cel: +55 (21) 9914-86898
>>> Email: [email protected]
>>>
>>> Beautiful is better than ugly,
>>> Explicit is better than implicit,
>>> Simple is better than complex,
>>> Complex is better than complicated.
>>>
>>> The Zen of Python, by Tim Peters
>>>
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "elixir-lang-core" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected] <javascript:>.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/elixir-lang-core/18c5f0e3-9fe8-4285-a453-4277bed37369%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/elixir-lang-core/18c5f0e3-9fe8-4285-a453-4277bed37369%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"elixir-lang-core" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elixir-lang-core/c0a0b0b2-ab10-4c57-a2b1-a4abeaf90375%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to