Here’s one way to think of it:
Asterisk generates various information based notifications based on the pre-determined importance of that information. Some notifications are deemed important enough to always be generated. For example, notices, warnings, and errors. Other notifications types, like debug and verbose are not as important, and can increase system load (they can output a lot of notifications), so these have to be manually enabled. This way the system is not under an increase load except when needed.
Now Asterisk is generating those notifications, but where do they go? To a particular file? Console? That’s where logger.conf comes in. There you can define where a notification goes when it’s generated. You want errors, warnings, and notices to go to the Asterisk full log file? Then specify them in its list:
[logfiles]
full => notice,warning,error
You only want warnings and errors in that file?
[logfiles]
full => warning,error
How about verbose messages?
[logfiles]
full => warning,error,verbose
In this last case remember Asterisk is always generating certain notifications so you’ll see warning and errors in the “full” log file. However, since Asterisk does not generate verbose notifications until you enable it then you will not see those in the log file until you enable verbosity.
If you enable a verbose level in Asterisk but don’t have it set to go anywhere. For instance:
[logfiles]
full => warning,error
Then Asterisk is actually still generating those notifications, but just not sending them anywhere. In this case the “full” log file will have warnings and errors, but no verbose messages even though you’ve enabled it.