summaryrefslogtreecommitdiff
path: root/bin/taler-log-adapter
diff options
context:
space:
mode:
Diffstat (limited to 'bin/taler-log-adapter')
-rwxr-xr-xbin/taler-log-adapter66
1 files changed, 0 insertions, 66 deletions
diff --git a/bin/taler-log-adapter b/bin/taler-log-adapter
deleted file mode 100755
index 07321fa..0000000
--- a/bin/taler-log-adapter
+++ /dev/null
@@ -1,66 +0,0 @@
-#!/usr/bin/env python3
-# This file is part of GNU TALER.
-# Copyright (C) 2018 INRIA
-#
-# TALER is free software; you can redistribute it and/or modify it under the
-# terms of the GNU Lesser General Public License as published by the Free Software
-# Foundation; either version 2.1, or (at your option) any later version.
-#
-# TALER is distributed in the hope that it will be useful, but WITHOUT ANY
-# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-# A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public License along with
-# GNU TALER; see the file COPYING. If not, see <http://www.gnu.org/licenses/>
-#
-# @author Florian Dold
-
-"""
-Wrapper for programs that log to stderr. Redirects logs to a file specified by
-a path with strfmt-style placeholders in it.
-"""
-
-from subprocess import Popen, PIPE
-import sys
-import os
-import os.path
-import signal
-import time
-
-def handler(signum, frame):
- if p:
- os.kill(p.pid, signum)
- else:
- sys.exit(-1)
-
-def touchp(path):
- dir = os.path.dirname(path)
- if dir:
- os.makedirs(dir, exist_ok=True)
-
-if len(sys.argv) < 3:
- print("Usage: {} logfile prog_and_args...".format(sys.argv[0]), file=sys.stderr)
- sys.exit(-1)
-
-p = None
-catchable_sigs = set(signal.Signals) - {signal.SIGKILL, signal.SIGSTOP}
-for sig in catchable_sigs:
- signal.signal(sig, handler)
-p = Popen(sys.argv[2:], stderr=PIPE, shell=False)
-
-log = sys.argv[1]
-last_name = None
-
-while p.poll() is None:
- full_name = time.strftime(log)
- if full_name != last_name:
- touchp(full_name)
- last_name = full_name
- last_read = p.stderr.readline()
- if last_read == '':
- break
- with open(full_name, "ab") as f:
- f.write(last_read)
-
-status = p.wait()
-sys.exit(status)