maleo-foundation 0.0.41__tar.gz → 0.0.42__tar.gz

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.
Files changed (62) hide show
  1. {maleo_foundation-0.0.41 → maleo_foundation-0.0.42}/PKG-INFO +1 -1
  2. maleo_foundation-0.0.42/maleo_foundation/clients/logging.py +33 -0
  3. {maleo_foundation-0.0.41 → maleo_foundation-0.0.42}/maleo_foundation/utils/logger.py +7 -3
  4. {maleo_foundation-0.0.41 → maleo_foundation-0.0.42}/maleo_foundation.egg-info/PKG-INFO +1 -1
  5. {maleo_foundation-0.0.41 → maleo_foundation-0.0.42}/maleo_foundation.egg-info/SOURCES.txt +1 -0
  6. {maleo_foundation-0.0.41 → maleo_foundation-0.0.42}/pyproject.toml +1 -1
  7. {maleo_foundation-0.0.41 → maleo_foundation-0.0.42}/README.md +0 -0
  8. {maleo_foundation-0.0.41 → maleo_foundation-0.0.42}/maleo_foundation/__init__.py +0 -0
  9. {maleo_foundation-0.0.41 → maleo_foundation-0.0.42}/maleo_foundation/clients/__init__.py +0 -0
  10. {maleo_foundation-0.0.41 → maleo_foundation-0.0.42}/maleo_foundation/clients/general/__init__.py +0 -0
  11. {maleo_foundation-0.0.41 → maleo_foundation-0.0.42}/maleo_foundation/clients/general/http.py +0 -0
  12. {maleo_foundation-0.0.41 → maleo_foundation-0.0.42}/maleo_foundation/clients/google/__init__.py +0 -0
  13. {maleo_foundation-0.0.41 → maleo_foundation-0.0.42}/maleo_foundation/clients/google/cloud/__init__.py +0 -0
  14. {maleo_foundation-0.0.41 → maleo_foundation-0.0.42}/maleo_foundation/clients/google/cloud/logging.py +0 -0
  15. {maleo_foundation-0.0.41 → maleo_foundation-0.0.42}/maleo_foundation/clients/google/cloud/secret.py +0 -0
  16. {maleo_foundation-0.0.41 → maleo_foundation-0.0.42}/maleo_foundation/clients/google/cloud/storage.py +0 -0
  17. {maleo_foundation-0.0.41 → maleo_foundation-0.0.42}/maleo_foundation/constants.py +0 -0
  18. {maleo_foundation-0.0.41 → maleo_foundation-0.0.42}/maleo_foundation/controller.py +0 -0
  19. {maleo_foundation-0.0.41 → maleo_foundation-0.0.42}/maleo_foundation/db/__init__.py +0 -0
  20. {maleo_foundation-0.0.41 → maleo_foundation-0.0.42}/maleo_foundation/db/database.py +0 -0
  21. {maleo_foundation-0.0.41 → maleo_foundation-0.0.42}/maleo_foundation/db/engine.py +0 -0
  22. {maleo_foundation-0.0.41 → maleo_foundation-0.0.42}/maleo_foundation/db/session.py +0 -0
  23. {maleo_foundation-0.0.41 → maleo_foundation-0.0.42}/maleo_foundation/enums.py +0 -0
  24. {maleo_foundation-0.0.41 → maleo_foundation-0.0.42}/maleo_foundation/expanded_types/__init__.py +0 -0
  25. {maleo_foundation-0.0.41 → maleo_foundation-0.0.42}/maleo_foundation/expanded_types/client.py +0 -0
  26. {maleo_foundation-0.0.41 → maleo_foundation-0.0.42}/maleo_foundation/expanded_types/query.py +0 -0
  27. {maleo_foundation-0.0.41 → maleo_foundation-0.0.42}/maleo_foundation/expanded_types/service.py +0 -0
  28. {maleo_foundation-0.0.41 → maleo_foundation-0.0.42}/maleo_foundation/extended_types.py +0 -0
  29. {maleo_foundation-0.0.41 → maleo_foundation-0.0.42}/maleo_foundation/middlewares/__init__.py +0 -0
  30. {maleo_foundation-0.0.41 → maleo_foundation-0.0.42}/maleo_foundation/middlewares/base.py +0 -0
  31. {maleo_foundation-0.0.41 → maleo_foundation-0.0.42}/maleo_foundation/middlewares/cors.py +0 -0
  32. {maleo_foundation-0.0.41 → maleo_foundation-0.0.42}/maleo_foundation/models/__init__.py +0 -0
  33. {maleo_foundation-0.0.41 → maleo_foundation-0.0.42}/maleo_foundation/models/responses.py +0 -0
  34. {maleo_foundation-0.0.41 → maleo_foundation-0.0.42}/maleo_foundation/models/schemas/__init__.py +0 -0
  35. {maleo_foundation-0.0.41 → maleo_foundation-0.0.42}/maleo_foundation/models/schemas/general.py +0 -0
  36. {maleo_foundation-0.0.41 → maleo_foundation-0.0.42}/maleo_foundation/models/schemas/parameter.py +0 -0
  37. {maleo_foundation-0.0.41 → maleo_foundation-0.0.42}/maleo_foundation/models/schemas/result.py +0 -0
  38. {maleo_foundation-0.0.41 → maleo_foundation-0.0.42}/maleo_foundation/models/transfers/__init__.py +0 -0
  39. {maleo_foundation-0.0.41 → maleo_foundation-0.0.42}/maleo_foundation/models/transfers/parameters/__init__.py +0 -0
  40. {maleo_foundation-0.0.41 → maleo_foundation-0.0.42}/maleo_foundation/models/transfers/parameters/client.py +0 -0
  41. {maleo_foundation-0.0.41 → maleo_foundation-0.0.42}/maleo_foundation/models/transfers/parameters/general.py +0 -0
  42. {maleo_foundation-0.0.41 → maleo_foundation-0.0.42}/maleo_foundation/models/transfers/parameters/service.py +0 -0
  43. {maleo_foundation-0.0.41 → maleo_foundation-0.0.42}/maleo_foundation/models/transfers/results/__init__.py +0 -0
  44. {maleo_foundation-0.0.41 → maleo_foundation-0.0.42}/maleo_foundation/models/transfers/results/client/__init__.py +0 -0
  45. {maleo_foundation-0.0.41 → maleo_foundation-0.0.42}/maleo_foundation/models/transfers/results/client/controllers/__init__.py +0 -0
  46. {maleo_foundation-0.0.41 → maleo_foundation-0.0.42}/maleo_foundation/models/transfers/results/client/controllers/http.py +0 -0
  47. {maleo_foundation-0.0.41 → maleo_foundation-0.0.42}/maleo_foundation/models/transfers/results/client/service.py +0 -0
  48. {maleo_foundation-0.0.41 → maleo_foundation-0.0.42}/maleo_foundation/models/transfers/results/service/__init__.py +0 -0
  49. {maleo_foundation-0.0.41 → maleo_foundation-0.0.42}/maleo_foundation/models/transfers/results/service/controllers/__init__.py +0 -0
  50. {maleo_foundation-0.0.41 → maleo_foundation-0.0.42}/maleo_foundation/models/transfers/results/service/controllers/rest.py +0 -0
  51. {maleo_foundation-0.0.41 → maleo_foundation-0.0.42}/maleo_foundation/models/transfers/results/service/general.py +0 -0
  52. {maleo_foundation-0.0.41 → maleo_foundation-0.0.42}/maleo_foundation/models/transfers/results/service/query.py +0 -0
  53. {maleo_foundation-0.0.41 → maleo_foundation-0.0.42}/maleo_foundation/query.py +0 -0
  54. {maleo_foundation-0.0.41 → maleo_foundation-0.0.42}/maleo_foundation/types.py +0 -0
  55. {maleo_foundation-0.0.41 → maleo_foundation-0.0.42}/maleo_foundation/utils/__init__.py +0 -0
  56. {maleo_foundation-0.0.41 → maleo_foundation-0.0.42}/maleo_foundation/utils/exceptions.py +0 -0
  57. {maleo_foundation-0.0.41 → maleo_foundation-0.0.42}/maleo_foundation/utils/formatter/__init__.py +0 -0
  58. {maleo_foundation-0.0.41 → maleo_foundation-0.0.42}/maleo_foundation/utils/formatter/case.py +0 -0
  59. {maleo_foundation-0.0.41 → maleo_foundation-0.0.42}/maleo_foundation.egg-info/dependency_links.txt +0 -0
  60. {maleo_foundation-0.0.41 → maleo_foundation-0.0.42}/maleo_foundation.egg-info/requires.txt +0 -0
  61. {maleo_foundation-0.0.41 → maleo_foundation-0.0.42}/maleo_foundation.egg-info/top_level.txt +0 -0
  62. {maleo_foundation-0.0.41 → maleo_foundation-0.0.42}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: maleo_foundation
3
- Version: 0.0.41
3
+ Version: 0.0.42
4
4
  Summary: Foundation package for Maleo
5
5
  Author-email: Agra Bima Yuda <agra@nexmedis.com>
6
6
  License: MIT
@@ -0,0 +1,33 @@
1
+ from typing import Dict
2
+ from maleo_foundation.enums import BaseEnums
3
+ from maleo_foundation.types import BaseTypes
4
+ from maleo_foundation.utils.logger import BaseLogger
5
+
6
+ class ClientLoggingManager:
7
+ _loggers:Dict[type, BaseLogger] = {}
8
+
9
+ @classmethod
10
+ def initialize(
11
+ cls,
12
+ base_dir:str,
13
+ client_name:str,
14
+ service_name:BaseTypes.OptionalString = None,
15
+ level:BaseEnums.LoggerLevel = BaseEnums.LoggerLevel.INFO
16
+ ) -> BaseLogger:
17
+ """Initialize client logger if not already initialized."""
18
+ if cls not in cls._loggers:
19
+ cls._loggers[cls] = BaseLogger(
20
+ base_dir=base_dir,
21
+ type=BaseEnums.LoggerType.CLIENT,
22
+ service_name=service_name,
23
+ client_name=client_name,
24
+ level=level
25
+ )
26
+ return cls._loggers[cls]
27
+
28
+ @classmethod
29
+ def get(cls) -> BaseLogger:
30
+ """Return client logger (if exist) or raise Runtime Error"""
31
+ if cls not in cls._loggers:
32
+ raise RuntimeError("Logger has not been initialized. Call 'initialize' first.")
33
+ return cls._loggers[cls]
@@ -62,12 +62,16 @@ class BaseLogger(logging.Logger):
62
62
  self.warning(f"Failed to initialize Google Cloud Logging: {str(e)}")
63
63
 
64
64
  #* Define log directory
65
- log_dir = os.path.join(base_dir, f"logs/{type}")
66
- os.makedirs(log_dir, exist_ok=True)
65
+ if type == BaseEnums.LoggerType.CLIENT:
66
+ log_dir = f"logs/{type}/{client_name}"
67
+ else:
68
+ log_dir = f"logs/{type}"
69
+ full_log_dir = os.path.join(base_dir, log_dir)
70
+ os.makedirs(full_log_dir, exist_ok=True)
67
71
 
68
72
  #* Generate timestamped filename
69
73
  timestamp = datetime.now().strftime("%Y-%m-%d_%H-%M-%S")
70
- log_filename = os.path.join(log_dir, f"{timestamp}.log")
74
+ log_filename = os.path.join(full_log_dir, f"{timestamp}.log")
71
75
 
72
76
  #* File handler
73
77
  file_handler = logging.FileHandler(log_filename, mode="a")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: maleo_foundation
3
- Version: 0.0.41
3
+ Version: 0.0.42
4
4
  Summary: Foundation package for Maleo
5
5
  Author-email: Agra Bima Yuda <agra@nexmedis.com>
6
6
  License: MIT
@@ -13,6 +13,7 @@ maleo_foundation.egg-info/dependency_links.txt
13
13
  maleo_foundation.egg-info/requires.txt
14
14
  maleo_foundation.egg-info/top_level.txt
15
15
  maleo_foundation/clients/__init__.py
16
+ maleo_foundation/clients/logging.py
16
17
  maleo_foundation/clients/general/__init__.py
17
18
  maleo_foundation/clients/general/http.py
18
19
  maleo_foundation/clients/google/__init__.py
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "maleo_foundation"
7
- version = "0.0.41"
7
+ version = "0.0.42"
8
8
  description = "Foundation package for Maleo"
9
9
  authors = [
10
10
  { name = "Agra Bima Yuda", email = "agra@nexmedis.com" }