Filter applies to handlers, as you can see from my example. So what you need is a custom handler for loggers that require that some_id of yours.
> On 23 Jan 2017, at 13:04, Arun S <[email protected]> wrote: > > Hi, > > Thanks, I did this. But this applies to all the Modules in the Project. > > Basically my issue is when Django is running with Celery and there are more > no of workers, the Logs needs to be diffrentiatied and also not for all the > Modules of the project. > So in order to apply for a particular module and handle it in the Code, > > > Can the Filter be applied individally and part of the Code when the Logger is > being setup for a module.??? > > Thanks & Cheers > Arun > > > On Monday, January 23, 2017 at 3:29:25 PM UTC+5:30, Александр Христюхин wrote: > Hi, yes, it's absolutely possible. Refer to Django docs about logging > (https://docs.djangoproject.com/en/1.10/topics/logging/ > <https://docs.djangoproject.com/en/1.10/topics/logging/>) and logging docs > (https://docs.python.org/3/library/logging.config.html#logging-config-dictschema > > <https://docs.python.org/3/library/logging.config.html#logging-config-dictschema>). > > What you're looking for is logging formatters and filters. Here's an example: > > > LOGGING = { > 'formatters': { > 'detailed': { > 'format': '%(asctime)s %(module)s %(levelname)-8s- %(some_id)s > %(message)s', > ... > }, > }, > 'handlers': { > 'default': { > 'formatter': 'detailed', > 'filters': ['some_id_filter'], > ... > }, > ... > }, > 'filters': { > 'some_id_filter': { > '()': 'package.module.SomeIdFilter', > }, > }, > ... > } > > >> On 23 Jan 2017, at 12:51, Arun S <arun...@ <>gmail.com <http://gmail.com/>> >> wrote: >> >> Hi all, >> >> I have a small issue with writing a Custom Log Formatter. >> >> By default: log_format = '%(asctime)s %(module)s %(levelname)-8s- >> %(message)s' >> >> This is the Log formatter being used. >> But only in a few cases or rather in a few modules, i would like to include >> for ex: "some_id" as a seperator in the Logs. >> Intended : log_format = '%(asctime)s %(module)s %(levelname)-8s- %(some_id)s >> %(message)s' >> >> But this always raises a Key Error and i would not want to change each and >> every existing log and manually add the new log. >> >> Is there a way to write this Custom Log format.??? >> >> I did try this: >> log_format = '%(asctime)s %(module)s %(levelname)-8s- %(some_id)s >> %(message)s' %{'some_id': id} >> >> This gives a Key Error " asctime " >> >> And During Logging setup, i setup the Logging : >> >> formatter = logging.Formatter(data.get('logging.log_format', None)) >> file_handler.setFormatter(formatter) >> >> >> >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Django users" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to django-users...@ <>googlegroups.com <http://googlegroups.com/>. >> To post to this group, send email to django...@ <>googlegroups.com >> <http://googlegroups.com/>. >> Visit this group at https://groups.google.com/group/django-users >> <https://groups.google.com/group/django-users>. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/django-users/3275bad0-405b-4bbf-afe7-d0eeb1feb77f%40googlegroups.com >> >> <https://groups.google.com/d/msgid/django-users/3275bad0-405b-4bbf-afe7-d0eeb1feb77f%40googlegroups.com?utm_medium=email&utm_source=footer>. >> For more options, visit https://groups.google.com/d/optout >> <https://groups.google.com/d/optout>. > > > -- > You received this message because you are subscribed to the Google Groups > "Django users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected] > <mailto:[email protected]>. > To post to this group, send email to [email protected] > <mailto:[email protected]>. > Visit this group at https://groups.google.com/group/django-users > <https://groups.google.com/group/django-users>. > To view this discussion on the web visit > https://groups.google.com/d/msgid/django-users/7e5ce87f-5749-48da-96cb-e410dc669cd9%40googlegroups.com > > <https://groups.google.com/d/msgid/django-users/7e5ce87f-5749-48da-96cb-e410dc669cd9%40googlegroups.com?utm_medium=email&utm_source=footer>. > For more options, visit https://groups.google.com/d/optout > <https://groups.google.com/d/optout>. -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/django-users. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/DFA5D90E-D755-497A-AF37-8B9BCBA0E2FE%40gmail.com. For more options, visit https://groups.google.com/d/optout.

