Here is the exact outline of the python code I have on my side.

  1 import sys
  2 import os
  3 import urllib2
  4 import urllib
  5 import simjsonrpc as jsonrpc
  6 import json
  7 import re
  8
  9 from simjsonrpc import HttpRequest
 10 from settings import *
 11 from templates import *
 12 from http_defs import *
 13 import time
 14
 15 import logging
 16 import logging.config
 17 import yaml
 18
 19 from unix_sock_http import *
 20
 21 # logging setup
 22 log_cfg_path = "/script/jsonrpc_logging.yaml"
 23
 24 def setup_logging(default_path='jsonrpc_logging.yaml',
 25                               default_level=logging.INFO,
 26                               env_key='JSONRPC_LOG_CFG'):
 27     """Setup logging configuration
 28
 29     """
 30     path = default_path
 31     value = os.getenv(env_key, None)
 32     if value:
 33         path = value
 34     if os.path.exists(path):
 35         with open(path, 'rt') as f:
 36             config = yaml.load(f.read())
 37         logging.config.dictConfig(config)
 38     else:
 39         logging.basicConfig(level = default_level)
 40     logging.Formatter('%(asctime)s - %(message)s')
 41
 42 # Get to the real business
 43 logger = logging.getLogger(__name__)
 44 setup_logging(default_path = log_cfg_path)
 45 logger.debug("logger initialized...")
 46
 47
 48 def parse_args(r, *args, **kwargs):
 49     <... snip ...>
 50       # There are bunch of functions between till "def application",
which uses logger.
 51     <... snip ...>
 52
 53 def application(environ, start_response):
 54     '''
 55     uwsgi entry point
 56     '''
 57
 58     http_method = ''
 59     try:
 60         http_method = environ["REQUEST_METHOD"]
 61     except KeyError:
 62         start_response("{0}".format(HTTP_ERROR[405]),
 63                        [(CONTENT_TYPE_KEY, CONTENT_TYPE_VALUE_JSONRPC)])
 64         return []
 65
 66     if "aaaLogin" not in request and "aaaRefresh" not in request:
 67         logger.debug("{0} <=========: {1}".format(src_ip,
"".join(result.split())))
 68     else:
 69         logger.debug("{0} <=========: {1}".format(src_ip, "aaa method.
Details hidden"))
 70
 71    # I've snipped some of the code below.


On Mon, Dec 7, 2015 at 2:37 PM, Mikko Ohtamaa <[email protected]>
wrote:

> Please show to full code flow of
>
> - starting application, your main entry point
>
> - how and when it calls setup_loggers()
>
> - how and when it imports modules
>
> If necessary step it through yourself in a debugger (pdb).
>
> On 7 December 2015 at 17:35, Anil Jangam <[email protected]> wrote:
>
>> Hi Mikko,
>>
>> Yes, I did see that. However I believe that scenario talks about multiple
>> modules creating the logger. In my case, I just have one python
>> file/module, which is initializing the logger. I also tried pushing the
>> importing the two imports (1. import logging, and 2. import logging.config)
>> as a very last imports in the sequence but not successful.
>>
>> I am having the below imports in my code. I am relatively new to python
>> and complete to uwsgi. Can you suggest what should be the correct sequence?
>> Do I have to initialize the logger inside application() function, which is
>> starting point of uwsgi?
>>
>> import sys
>> import os
>> import urllib2
>> import urllib
>> import simjsonrpc as jsonrpc
>> import json
>> import re
>>
>> from simjsonrpc import HttpRequest
>> from settings import *
>> from templates import *
>> from http_defs import *
>> import time
>>
>> import logging
>> import logging.config
>> import yaml
>>
>> from unix_sock_http import *
>>
>>
>> /anil.
>>
>>
>>
>> On Mon, Dec 7, 2015 at 2:28 PM, Mikko Ohtamaa <[email protected]>
>> wrote:
>>
>>> Hi Anil,
>>>
>>> Did you spot my SO.com comment on the matter?
>>>
>>> Thanks,
>>> Mikko
>>>
>>> On 7 December 2015 at 17:27, Anil Jangam <[email protected]>
>>> wrote:
>>>
>>>> Hi,
>>>>
>>>> This is a resend of my previous post.
>>>>
>>>> I need to understand how python logger works under uwsgi environment? I
>>>> have a python program used as a --wsgi-file. This python application
>>>> internally initializes a logging.Logger instance with a certain log config.
>>>>
>>>> What is happening is for the first time uwsgi process is started, it
>>>> does not pick up the correct time format for log message as per the log
>>>> config; however, when I restart the uwsgi process, it picks the configured
>>>> time format.
>>>>
>>>> I tried few options outside the uwsgi process context but nothing
>>>> helped. I need to know if there is anything within uwsgi framework or
>>>> environment which influences the python logger time format?
>>>>
>>>> Thanks,
>>>> /anil.
>>>>
>>>>
>>>>
>>>> On Fri, Dec 4, 2015 at 4:21 PM, Anil Jangam <[email protected]>
>>>> wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> I have a python module running behind the uwsgi process launched as
>>>>> below. I have a python logger being initialized inside the json_rpc.py
>>>>> file.
>>>>>
>>>>> uwsgi -M --processes 1 --threads 2 -s /tmp/uwsgi.sock 
>>>>> --wsgi-file=/proj/req_proc.py --daemonize /dev/null
>>>>>
>>>>>
>>>>> The issue is whenever the uwsgi process is started for the first time,
>>>>> the logger time format is not taking effect as per the log configuration.
>>>>> However, on the second attempt, when I restart the uwsgi process (after
>>>>> doing a kill -9 on uwsgi), the logger time format comes out correct.
>>>>>
>>>>> I am not able to understand why this is happening and if there is
>>>>> anything wring between python logger and uwsgi framework. Can someone
>>>>> please comment on this?
>>>>>
>>>>> I posted similar question to stackoverflow and got a comment
>>>>> indicating something wrong between the two.
>>>>>
>>>>> http://stackoverflow.com/questions/34053273/python-logger-not-picking-up-the-configure-time-format
>>>>>
>>>>> Thanks,
>>>>> /anil.
>>>>>
>>>>>
>>>>>
>>>>
>>>> _______________________________________________
>>>> uWSGI mailing list
>>>> [email protected]
>>>> http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi
>>>>
>>>>
>>>
>>>
>>> --
>>> Mikko Ohtamaa
>>> http://opensourcehacker.com
>>> http://twitter.com/moo9000
>>>
>>>
>>> _______________________________________________
>>> uWSGI mailing list
>>> [email protected]
>>> http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi
>>>
>>>
>>
>> _______________________________________________
>> uWSGI mailing list
>> [email protected]
>> http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi
>>
>>
>
>
> --
> Mikko Ohtamaa
> http://opensourcehacker.com
> http://twitter.com/moo9000
>
>
> _______________________________________________
> uWSGI mailing list
> [email protected]
> http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi
>
>
_______________________________________________
uWSGI mailing list
[email protected]
http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi

Reply via email to