Re: Unable to log to stdout for pgadmin4 in python3

From: Glen Huang <heyhgl(at)gmail(dot)com>
To: Murtuza Zabuawala <murtuza(dot)zabuawala(at)enterprisedb(dot)com>
Cc: pgadmin-support(at)lists(dot)postgresql(dot)org
Subject: Re: Unable to log to stdout for pgadmin4 in python3
Date: 2017-09-07 04:42:23
Message-ID: B3F1E0CB-54EE-476F-99DB-87B9B2ED6EDE@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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(dot)zabuawala(at)enterprisedb(dot)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 <http://www.enterprisedb.com/>
> The Enterprise PostgreSQL Company
>
> <https://community.postgresrocks.net/>
>
> On Wed, Sep 6, 2017 at 8:30 PM, Glen Huang <heyhgl(at)gmail(dot)com <mailto:heyhgl(at)gmail(dot)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 <https://bugs.python.org/issue27805>
>
> Is there any way to work around it so I can make pgadmin4 log to stdout?
>
> Regards
> Glen
>

In response to

Responses

Browse pgadmin-support by date

  From Date Subject
Next Message Murtuza Zabuawala 2017-09-07 04:46:35 Re: Unicode "\uFEFF" getting copied from pgadmin 1.6 SQL window
Previous Message Murtuza Zabuawala 2017-09-07 04:34:57 Re: Unable to log to stdout for pgadmin4 in python3