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.