pgbelt 0.8.2__py3-none-any.whl → 0.8.3__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
pgbelt/util/logs.py CHANGED
@@ -1,4 +1,5 @@
1
1
  import logging
2
+ from datetime import datetime
2
3
  from os import getenv
3
4
  from os import makedirs
4
5
 
@@ -8,7 +9,7 @@ FORMATTER = "{asctime} {name}:{levelname} {message}"
8
9
  # if this module is ever imported we set up the root logger to log to stderr
9
10
  root_level = int(getenv("LOG_LEVEL", logging.DEBUG))
10
11
  root_handler = logging.StreamHandler()
11
- formatter = logging.Formatter(fmt=FORMATTER, datefmt='%Y-%m-%d %H:%M:%S', style='{')
12
+ formatter = logging.Formatter(fmt=FORMATTER, datefmt="%Y-%m-%d %H:%M:%S", style="{")
12
13
  root_handler.setFormatter(formatter)
13
14
  root_handler.setLevel(root_level)
14
15
  root_logger = logging.getLogger("dbup")
@@ -20,13 +21,21 @@ def log_file_dir(db: str, dc: str) -> str:
20
21
  return f"logs/{db}/{dc}"
21
22
 
22
23
 
23
- def log_file_path(db: str, dc: str) -> str:
24
- return f"logs/{db}/{dc}/logs.txt"
24
+ def log_file_path(db: str, dc: str, kind: str) -> str:
25
+ timestamp = datetime.now().strftime("%Y-%m-%d-%H-%M-%S")
26
+ if kind:
27
+ return f"logs/{db}/{dc}/{timestamp}-{kind}.txt"
28
+ else:
29
+ return f"logs/{db}/{dc}/{timestamp}.txt"
25
30
 
26
31
 
27
32
  def get_logger(db: str, dc: str, kind: str = "") -> logging.Logger:
28
33
  # When we set up a logger for that db that emits to a file
29
- logger = logging.getLogger(f"dbup.{db}.{dc}")
34
+ logger = (
35
+ logging.getLogger(f"dbup.{db}.{dc}.{kind}")
36
+ if kind
37
+ else logging.getLogger(f"dbup.{db}.{dc}")
38
+ )
30
39
  if not logger.handlers:
31
40
  skip_file_handler = False
32
41
 
@@ -41,8 +50,10 @@ def get_logger(db: str, dc: str, kind: str = "") -> logging.Logger:
41
50
  pass
42
51
 
43
52
  if not skip_file_handler:
44
- handler = logging.FileHandler(log_file_path(db, dc), mode="w")
45
- handler.setFormatter(logging.Formatter(FORMATTER, datefmt='%Y-%m-%d %H:%M:%S', style="{"))
53
+ handler = logging.FileHandler(log_file_path(db, dc, kind), mode="w")
54
+ handler.setFormatter(
55
+ logging.Formatter(FORMATTER, datefmt="%Y-%m-%d %H:%M:%S", style="{")
56
+ )
46
57
  # always log everything to the file
47
58
  logger.setLevel(logging.DEBUG)
48
59
  logger.addHandler(handler)
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.3
2
2
  Name: pgbelt
3
- Version: 0.8.2
3
+ Version: 0.8.3
4
4
  Summary: A CLI tool used to manage Postgres data migrations from beginning to end, for a single database or a fleet, leveraging pglogical replication.
5
5
  Author: Varjitt Jeeva
6
6
  Author-email: varjitt.jeeva@autodesk.com
@@ -17,11 +17,11 @@ pgbelt/main.py,sha256=YiagBiGt8pbNlukkRxROXnQX1Tx6ax7c6riuHRCrPYU,186
17
17
  pgbelt/util/__init__.py,sha256=-6KkvVMz-yGNQfeoo4CZZrgWKXYmFd4CMyoiao8OnFE,40
18
18
  pgbelt/util/asyncfuncs.py,sha256=7i_GpBmUNNZ8RUGvU-q5nclsoaCm6Lx8jLP8usYvmZc,583
19
19
  pgbelt/util/dump.py,sha256=R5eI1MFwbv5M6ICnkmjhugj3ZhpWu5sjT20ixEXNfC4,14218
20
- pgbelt/util/logs.py,sha256=E6doEhi8vrusmYUTZRdjKHP-h2dDiExCjgEtMl7epPw,1793
20
+ pgbelt/util/logs.py,sha256=3Kk_dERXLsTwLxFS6tzI8fE0sRi5QrBYHJc4Al6ZCMA,2110
21
21
  pgbelt/util/pglogical.py,sha256=Y6KZBeiH85zhNSvhATqh0xozhfUMyQnPWN1HwRosZFo,13613
22
22
  pgbelt/util/postgres.py,sha256=0Jx0auJZsSigDX57M1J9ntN1booL1AUxPc8oBYzsbUE,20076
23
- pgbelt-0.8.2.dist-info/LICENSE,sha256=FQ5cFkW02dKK3LmKH8z-rwn93tWSCh7lsxfNUiWcFsg,10758
24
- pgbelt-0.8.2.dist-info/METADATA,sha256=dhrSqkEUjn642o_hu0sZn8zUhCQLAMDZmUZSqrBmY4s,3011
25
- pgbelt-0.8.2.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
26
- pgbelt-0.8.2.dist-info/entry_points.txt,sha256=SCz_poPjkaVnWpJ-CeytAnDzbVc6l0WalOwitIqW_3g,40
27
- pgbelt-0.8.2.dist-info/RECORD,,
23
+ pgbelt-0.8.3.dist-info/LICENSE,sha256=FQ5cFkW02dKK3LmKH8z-rwn93tWSCh7lsxfNUiWcFsg,10758
24
+ pgbelt-0.8.3.dist-info/METADATA,sha256=u33z7hpPb5JgRlUoh4YCgydNSbWtzivu5vgGNikNDf8,3011
25
+ pgbelt-0.8.3.dist-info/WHEEL,sha256=IYZQI976HJqqOpQU6PHkJ8fb3tMNBFjg-Cn-pwAbaFM,88
26
+ pgbelt-0.8.3.dist-info/entry_points.txt,sha256=SCz_poPjkaVnWpJ-CeytAnDzbVc6l0WalOwitIqW_3g,40
27
+ pgbelt-0.8.3.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: poetry-core 1.9.1
2
+ Generator: poetry-core 2.0.1
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any