Re: Unable to log to stdout for pgadmin4 in python3

Поиск
Список
Период
Сортировка
От Glen Huang
Тема Re: Unable to log to stdout for pgadmin4 in python3
Дата
Msg-id B3F1E0CB-54EE-476F-99DB-87B9B2ED6EDE@gmail.com
обсуждение исходный текст
Ответ на Re: Unable to log to stdout for pgadmin4 in python3  (Murtuza Zabuawala <murtuza.zabuawala@enterprisedb.com>)
Ответы Re: Unable to log to stdout for pgadmin4 in python3  (Murtuza Zabuawala <murtuza.zabuawala@enterprisedb.com>)
Список pgadmin-support
Thanks for offering the solution. I’ll try to apply it for now.

But ideally it could be fixed in pgadmin, since LOG_FILE is now ignored all together.

Should I submit a ticket to pgadmin's issue tracker? (does it have one?)

On 7 Sep 2017, at 12:34 PM, Murtuza Zabuawala <murtuza.zabuawala@enterprisedb.com> wrote:

I don't think that's possible with FileHandler in python.

The workaround is to change the logging FileHandler to StreamHandler, If you have access to pgAdmin4 source code in docker then you can try replacing below line (File:  <YOUR_DOCKER_PATH>/pgadmin4/web/pgadmin/__init__.py),

fh = logging.FileHandler(config.LOG_FILE, encoding='utf-8')

with

fh = logging.StreamHandler(sys.stdout)

--
Regards,
Murtuza Zabuawala
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

https://community.postgresrocks.net/

On Wed, Sep 6, 2017 at 8:30 PM, Glen Huang <heyhgl@gmail.com> wrote:
Hi,

I’m running pgadmin4 in docker, and I have set LOG_FILE = '/dev/stdout’ to log to stdout, but when running pgAdmin4.py, it fails with:

Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/pgadmin4/pgAdmin4.py", line 56, in <module>
    app = create_app()
  File "/usr/local/lib/python3.6/site-packages/pgadmin4/pgadmin/__init__.py", line 183, in create_app
    fh = logging.FileHandler(config.LOG_FILE, encoding='utf-8')
  File "/usr/local/lib/python3.6/logging/__init__.py", line 1030, in __init__
    StreamHandler.__init__(self, self._open())
  File "/usr/local/lib/python3.6/logging/__init__.py", line 1059, in _open
    return open(self.baseFilename, self.mode, encoding=self.encoding)
OSError: [Errno 29] Invalid seek

I think it has something do with this:

https://bugs.python.org/issue27805

Is there any way to work around it so I can make pgadmin4 log to stdout?

Regards
Glen


В списке pgadmin-support по дате отправления:

Предыдущее
От: Murtuza Zabuawala
Дата:
Сообщение: Re: Unable to log to stdout for pgadmin4 in python3
Следующее
От: Murtuza Zabuawala
Дата:
Сообщение: Re: Unicode "\uFEFF" getting copied from pgadmin 1.6 SQL window