you can catch the request client ip using pyramid_log ?
i use config in development.ini by 
the https://pypi.python.org/pypi/pyramid-log

[formatter_pyramid]
# NB: Here is the interesting part!
class = pyramid_log.Formatter
format = %(asctime)s %(request.method|no request)s %(request.path_qs|)s
         %(levelname)-5.5s [%(name)s] %(message)s

and what i caught the errors like this:


2017-06-16 17:37:10,590 no request 
ERROR [waitress] Exception when serving /saveData
Traceback (most recent call last):
  File "d:\pyramid64_py36\lib\site-packages\sqlalchemy\engine\base.py", 
line 1182, in _execute_context
    context)
  File "d:\pyramid64_py36\lib\site-packages\sqlalchemy\engine\default.py", 
line 470, in do_execute
    cursor.execute(statement, parameters)
cx_Oracle.DatabaseError: ORA-00907: 缺失右括号


The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "d:\pyramid64_py36\lib\site-packages\waitress\channel.py", line 338, 
in service
    task.service()
  File "d:\pyramid64_py36\lib\site-packages\waitress\task.py", line 169, in 
service
    self.execute()
  File "d:\pyramid64_py36\lib\site-packages\waitress\task.py", line 399, in 
execute
    app_iter = self.channel.server.application(env, start_response)
  File "d:\pyramid64_py36\lib\site-packages\pyramid\router.py", line 233, 
in __call__
    response = self.invoke_subrequest(request, use_tweens=True)
  File "d:\pyramid64_py36\lib\site-packages\pyramid\router.py", line 208, 
in invoke_subrequest
    response = handle_request(request)
  File "d:\pyramid64_py36\lib\site-packages\pyramid\tweens.py", line 62, in 
excview_tween
    reraise(*attrs['exc_info'])
  File "d:\pyramid64_py36\lib\site-packages\pyramid\compat.py", line 148, 
in reraise
    raise value
  File "d:\pyramid64_py36\lib\site-packages\pyramid\tweens.py", line 22, in 
excview_tween
    response = handler(request)
  File "d:\pyramid64_py36\lib\site-packages\pyramid_tm\__init__.py", line 
119, in tm_tween
    reraise(*exc_info)
  File "d:\pyramid64_py36\lib\site-packages\pyramid_tm\compat.py", line 15, 
in reraise
    raise value
  File "d:\pyramid64_py36\lib\site-packages\pyramid_tm\__init__.py", line 
98, in tm_tween
    response = handler(request)
  File "d:\pyramid64_py36\lib\site-packages\pyramid\router.py", line 155, 
in handle_request
    view_name
  File "d:\pyramid64_py36\lib\site-packages\pyramid\view.py", line 612, in 
_call_view
    response = view_callable(context, request)
  File "d:\pyramid64_py36\lib\site-packages\pyramid\viewderivers.py", line 
438, in rendered_view
    result = view(context, request)
  File "d:\pyramid64_py36\lib\site-packages\pyramid\viewderivers.py", line 
147, in _requestonly_view
    response = view(request)
  File "d:\pyramid64_py36\gds_zf_dev\gds_zf_dev\views\home.py", line 275, 
in view_savedata
    return savedata.view_savedata(request)
  File "d:\pyramid64_py36\gds_zf_dev\gds_zf_dev\views\savedata.py", line 
80, in view_savedata
    return func_savedata(request)
  File "d:\pyramid64_py36\gds_zf_dev\gds_zf_dev\views\dtcx.py", line 35, in 
view_savedata
    return func_saveDtcx(request)
  File "d:\pyramid64_py36\gds_zf_dev\gds_zf_dev\views\dtcx.py", line 202, 
in func_saveDtcx
    {'b1': '', 'b2': '', 'b3': '', 'b4': '', 'b5': '', 'b6': '', 'b7': '', 
'b99': ''}
  File "d:\pyramid64_py36\lib\site-packages\sqlalchemy\orm\session.py", 
line 1107, in execute
    bind, close_with_result=True).execute(clause, params or {})
  File "d:\pyramid64_py36\lib\site-packages\sqlalchemy\engine\base.py", 
line 945, in execute
    return meth(self, multiparams, params)
  File "d:\pyramid64_py36\lib\site-packages\sqlalchemy\sql\elements.py", 
line 263, in _execute_on_connection
    return connection._execute_clauseelement(self, multiparams, params)
  File "d:\pyramid64_py36\lib\site-packages\sqlalchemy\engine\base.py", 
line 1053, in _execute_clauseelement
    compiled_sql, distilled_params
  File "d:\pyramid64_py36\lib\site-packages\sqlalchemy\engine\base.py", 
line 1189, in _execute_context
    context)
  File "d:\pyramid64_py36\lib\site-packages\sqlalchemy\engine\base.py", 
line 1393, in _handle_dbapi_exception
    exc_info
  File "d:\pyramid64_py36\lib\site-packages\sqlalchemy\util\compat.py", 
line 203, in raise_from_cause
    reraise(type(exception), exception, tb=exc_tb, cause=cause)
  File "d:\pyramid64_py36\lib\site-packages\sqlalchemy\util\compat.py", 
line 186, in reraise
    raise value.with_traceback(tb)
  File "d:\pyramid64_py36\lib\site-packages\sqlalchemy\engine\base.py", 
line 1182, in _execute_context
    context)
  File "d:\pyramid64_py36\lib\site-packages\sqlalchemy\engine\default.py", 
line 470, in do_execute
    cursor.execute(statement, parameters)
sqlalchemy.exc.DatabaseError: (cx_Oracle.DatabaseError) ORA-00907: 缺失右括号
 [SQL: '...

在 2017年6月12日星期一 UTC+8下午6:30:01,tonthon写道:
>
> That's a cool one, thanks for sharing.
>
>
> Le 01/06/2017 à 18:52, Jeff Dairiki a écrit :
>
>
>
> On Fri, May 26, 2017 at 8:04 PM, Guohuang Chen <[email protected] 
> <javascript:>> wrote:
>
>> can i add something to the pyramid logging ? such as 
>> session['login_name'] remote-ip ...
>>
>
> You might also look at the pyramid-log 
> <https://pypi.python.org/pypi/pyramid-log> package.  I think it will do 
> what you want. 
>
> It provides a custom log formatter which adds the pyramid request to the 
> log record, and also adds some magic syntax so that one can interpolate 
> bits accessible from the request with a format string like:
>
> %(asctime)s %(request.session.login_name)s %(request.client_addr)s 
> %(message)s
>
> -- 
> You received this message because you are subscribed to the Google Groups 
> "pylons-discuss" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected] <javascript:>.
> To post to this group, send email to [email protected] 
> <javascript:>.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/pylons-discuss/CAM4%2Bx0EyBSPoGy%2BHW7HwLmcSgBfVbKgbXUvz9bOXOwZva3n9FA%40mail.gmail.com
>  
> <https://groups.google.com/d/msgid/pylons-discuss/CAM4%2Bx0EyBSPoGy%2BHW7HwLmcSgBfVbKgbXUvz9bOXOwZva3n9FA%40mail.gmail.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 
"pylons-discuss" 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].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/pylons-discuss/d1beb480-a08c-427f-a93f-41b0d4a0f304%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to