maleo-foundation 0.0.38__tar.gz → 0.0.40__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 (61) hide show
  1. {maleo_foundation-0.0.38 → maleo_foundation-0.0.40}/PKG-INFO +1 -1
  2. {maleo_foundation-0.0.38 → maleo_foundation-0.0.40}/maleo_foundation/constants.py +1 -1
  3. {maleo_foundation-0.0.38 → maleo_foundation-0.0.40}/maleo_foundation/enums.py +6 -0
  4. {maleo_foundation-0.0.38 → maleo_foundation-0.0.40}/maleo_foundation/utils/logger.py +20 -6
  5. {maleo_foundation-0.0.38 → maleo_foundation-0.0.40}/maleo_foundation.egg-info/PKG-INFO +1 -1
  6. {maleo_foundation-0.0.38 → maleo_foundation-0.0.40}/pyproject.toml +1 -1
  7. {maleo_foundation-0.0.38 → maleo_foundation-0.0.40}/README.md +0 -0
  8. {maleo_foundation-0.0.38 → maleo_foundation-0.0.40}/maleo_foundation/__init__.py +0 -0
  9. {maleo_foundation-0.0.38 → maleo_foundation-0.0.40}/maleo_foundation/clients/__init__.py +0 -0
  10. {maleo_foundation-0.0.38 → maleo_foundation-0.0.40}/maleo_foundation/clients/general/__init__.py +0 -0
  11. {maleo_foundation-0.0.38 → maleo_foundation-0.0.40}/maleo_foundation/clients/general/http.py +0 -0
  12. {maleo_foundation-0.0.38 → maleo_foundation-0.0.40}/maleo_foundation/clients/google/__init__.py +0 -0
  13. {maleo_foundation-0.0.38 → maleo_foundation-0.0.40}/maleo_foundation/clients/google/cloud/__init__.py +0 -0
  14. {maleo_foundation-0.0.38 → maleo_foundation-0.0.40}/maleo_foundation/clients/google/cloud/logging.py +0 -0
  15. {maleo_foundation-0.0.38 → maleo_foundation-0.0.40}/maleo_foundation/clients/google/cloud/secret.py +0 -0
  16. {maleo_foundation-0.0.38 → maleo_foundation-0.0.40}/maleo_foundation/clients/google/cloud/storage.py +0 -0
  17. {maleo_foundation-0.0.38 → maleo_foundation-0.0.40}/maleo_foundation/controller.py +0 -0
  18. {maleo_foundation-0.0.38 → maleo_foundation-0.0.40}/maleo_foundation/db/__init__.py +0 -0
  19. {maleo_foundation-0.0.38 → maleo_foundation-0.0.40}/maleo_foundation/db/database.py +0 -0
  20. {maleo_foundation-0.0.38 → maleo_foundation-0.0.40}/maleo_foundation/db/engine.py +0 -0
  21. {maleo_foundation-0.0.38 → maleo_foundation-0.0.40}/maleo_foundation/db/session.py +0 -0
  22. {maleo_foundation-0.0.38 → maleo_foundation-0.0.40}/maleo_foundation/expanded_types/__init__.py +0 -0
  23. {maleo_foundation-0.0.38 → maleo_foundation-0.0.40}/maleo_foundation/expanded_types/client.py +0 -0
  24. {maleo_foundation-0.0.38 → maleo_foundation-0.0.40}/maleo_foundation/expanded_types/query.py +0 -0
  25. {maleo_foundation-0.0.38 → maleo_foundation-0.0.40}/maleo_foundation/expanded_types/service.py +0 -0
  26. {maleo_foundation-0.0.38 → maleo_foundation-0.0.40}/maleo_foundation/extended_types.py +0 -0
  27. {maleo_foundation-0.0.38 → maleo_foundation-0.0.40}/maleo_foundation/middlewares/__init__.py +0 -0
  28. {maleo_foundation-0.0.38 → maleo_foundation-0.0.40}/maleo_foundation/middlewares/base.py +0 -0
  29. {maleo_foundation-0.0.38 → maleo_foundation-0.0.40}/maleo_foundation/middlewares/cors.py +0 -0
  30. {maleo_foundation-0.0.38 → maleo_foundation-0.0.40}/maleo_foundation/models/__init__.py +0 -0
  31. {maleo_foundation-0.0.38 → maleo_foundation-0.0.40}/maleo_foundation/models/responses.py +0 -0
  32. {maleo_foundation-0.0.38 → maleo_foundation-0.0.40}/maleo_foundation/models/schemas/__init__.py +0 -0
  33. {maleo_foundation-0.0.38 → maleo_foundation-0.0.40}/maleo_foundation/models/schemas/general.py +0 -0
  34. {maleo_foundation-0.0.38 → maleo_foundation-0.0.40}/maleo_foundation/models/schemas/parameter.py +0 -0
  35. {maleo_foundation-0.0.38 → maleo_foundation-0.0.40}/maleo_foundation/models/schemas/result.py +0 -0
  36. {maleo_foundation-0.0.38 → maleo_foundation-0.0.40}/maleo_foundation/models/transfers/__init__.py +0 -0
  37. {maleo_foundation-0.0.38 → maleo_foundation-0.0.40}/maleo_foundation/models/transfers/parameters/__init__.py +0 -0
  38. {maleo_foundation-0.0.38 → maleo_foundation-0.0.40}/maleo_foundation/models/transfers/parameters/client.py +0 -0
  39. {maleo_foundation-0.0.38 → maleo_foundation-0.0.40}/maleo_foundation/models/transfers/parameters/general.py +0 -0
  40. {maleo_foundation-0.0.38 → maleo_foundation-0.0.40}/maleo_foundation/models/transfers/parameters/service.py +0 -0
  41. {maleo_foundation-0.0.38 → maleo_foundation-0.0.40}/maleo_foundation/models/transfers/results/__init__.py +0 -0
  42. {maleo_foundation-0.0.38 → maleo_foundation-0.0.40}/maleo_foundation/models/transfers/results/client/__init__.py +0 -0
  43. {maleo_foundation-0.0.38 → maleo_foundation-0.0.40}/maleo_foundation/models/transfers/results/client/controllers/__init__.py +0 -0
  44. {maleo_foundation-0.0.38 → maleo_foundation-0.0.40}/maleo_foundation/models/transfers/results/client/controllers/http.py +0 -0
  45. {maleo_foundation-0.0.38 → maleo_foundation-0.0.40}/maleo_foundation/models/transfers/results/client/service.py +0 -0
  46. {maleo_foundation-0.0.38 → maleo_foundation-0.0.40}/maleo_foundation/models/transfers/results/service/__init__.py +0 -0
  47. {maleo_foundation-0.0.38 → maleo_foundation-0.0.40}/maleo_foundation/models/transfers/results/service/controllers/__init__.py +0 -0
  48. {maleo_foundation-0.0.38 → maleo_foundation-0.0.40}/maleo_foundation/models/transfers/results/service/controllers/rest.py +0 -0
  49. {maleo_foundation-0.0.38 → maleo_foundation-0.0.40}/maleo_foundation/models/transfers/results/service/general.py +0 -0
  50. {maleo_foundation-0.0.38 → maleo_foundation-0.0.40}/maleo_foundation/models/transfers/results/service/query.py +0 -0
  51. {maleo_foundation-0.0.38 → maleo_foundation-0.0.40}/maleo_foundation/query.py +0 -0
  52. {maleo_foundation-0.0.38 → maleo_foundation-0.0.40}/maleo_foundation/types.py +0 -0
  53. {maleo_foundation-0.0.38 → maleo_foundation-0.0.40}/maleo_foundation/utils/__init__.py +0 -0
  54. {maleo_foundation-0.0.38 → maleo_foundation-0.0.40}/maleo_foundation/utils/exceptions.py +0 -0
  55. {maleo_foundation-0.0.38 → maleo_foundation-0.0.40}/maleo_foundation/utils/formatter/__init__.py +0 -0
  56. {maleo_foundation-0.0.38 → maleo_foundation-0.0.40}/maleo_foundation/utils/formatter/case.py +0 -0
  57. {maleo_foundation-0.0.38 → maleo_foundation-0.0.40}/maleo_foundation.egg-info/SOURCES.txt +0 -0
  58. {maleo_foundation-0.0.38 → maleo_foundation-0.0.40}/maleo_foundation.egg-info/dependency_links.txt +0 -0
  59. {maleo_foundation-0.0.38 → maleo_foundation-0.0.40}/maleo_foundation.egg-info/requires.txt +0 -0
  60. {maleo_foundation-0.0.38 → maleo_foundation-0.0.40}/maleo_foundation.egg-info/top_level.txt +0 -0
  61. {maleo_foundation-0.0.38 → maleo_foundation-0.0.40}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: maleo_foundation
3
- Version: 0.0.38
3
+ Version: 0.0.40
4
4
  Summary: Foundation package for Maleo
5
5
  Author-email: Agra Bima Yuda <agra@nexmedis.com>
6
6
  License: MIT
@@ -24,7 +24,7 @@ STATUS_UPDATE_CRITERIAS:dict[
24
24
  BaseEnums.StatusType.ACTIVE,
25
25
  ]
26
26
  }
27
- IDENTIFIER_TYPE_VALUE_PAIR_MAP:dict[
27
+ IDENTIFIER_TYPE_VALUE_TYPE_MAP:dict[
28
28
  BaseEnums.IdentifierTypes,
29
29
  object
30
30
  ] = {
@@ -61,6 +61,12 @@ class BaseEnums:
61
61
  BaseEnums.RESTControllerResponseType.FILE: responses.FileResponse,
62
62
  }.get(self, responses.Response)
63
63
 
64
+ class LoggerType(StrEnum):
65
+ MIDDLEWARE = "middleware"
66
+ DATABASE = "database"
67
+ APPLICATION = "application"
68
+ CLIENT = "client"
69
+
64
70
  class LoggerLevel(IntEnum):
65
71
  CRITICAL = logging.CRITICAL
66
72
  FATAL = logging.FATAL
@@ -3,28 +3,42 @@ import os
3
3
  from datetime import datetime
4
4
  from maleo_foundation.clients.google.cloud.logging import GoogleCloudLogging
5
5
  from maleo_foundation.enums import BaseEnums
6
+ from maleo_foundation.types import BaseTypes
6
7
 
7
8
  class BaseLogger(logging.Logger):
8
9
  def __init__(
9
10
  self,
10
11
  base_dir:str,
11
- service_name:str,
12
- category:str,
12
+ type:BaseEnums.LoggerType = BaseEnums.LoggerType.APPLICATION,
13
+ service_name:BaseTypes.OptionalString = None,
14
+ client_name:BaseTypes.OptionalString = None,
13
15
  level:BaseEnums.LoggerLevel = BaseEnums.LoggerLevel.INFO
14
16
  ):
15
17
  """
16
18
  Custom extended logger with file, console, and Google Cloud Logging.
17
19
 
18
- - Logs are stored in `base_dir/logs/{category}`
20
+ - Logs are stored in `base_dir/logs/{type}`
19
21
  - Uses Google Cloud Logging if configured
20
22
 
21
23
  Args:
22
24
  base_dir (str): Base directory for logs (e.g., "/path/to/maleo_security")
23
25
  service_name (str): The service name (e.g., "maleo_security")
24
- category (str): Log category (e.g., "application", "middleware")
26
+ type (str): Log type (e.g., "application", "middleware")
25
27
  """
28
+ #* Ensure service_name exists
29
+ service_name = service_name or os.getenv("SERVICE_NAME")
30
+ if service_name is None:
31
+ raise ValueError("SERVICE_NAME environment variable must be set if service_name is set to None")
32
+
33
+ #* Ensure client_name is valid if logger type is a client
34
+ if type == BaseEnums.LoggerType.CLIENT and client_name is None:
35
+ raise ValueError("'client_name' parameter must be provided if 'logger_type' is 'client'")
36
+
26
37
  #* Define logger name
27
- name = f"{service_name} - {category}"
38
+ if type == BaseEnums.LoggerType.CLIENT:
39
+ name = f"{service_name} - {type} - {client_name}"
40
+ else:
41
+ name = f"{service_name} - {type}"
28
42
  super().__init__(name, level)
29
43
 
30
44
  #* Clear existing handlers to prevent duplicates
@@ -48,7 +62,7 @@ class BaseLogger(logging.Logger):
48
62
  self.warning(f"Failed to initialize Google Cloud Logging: {str(e)}")
49
63
 
50
64
  #* Define log directory
51
- log_dir = os.path.join(base_dir, f"logs/{category}")
65
+ log_dir = os.path.join(base_dir, f"logs/{type}")
52
66
  os.makedirs(log_dir, exist_ok=True)
53
67
 
54
68
  #* Generate timestamped filename
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: maleo_foundation
3
- Version: 0.0.38
3
+ Version: 0.0.40
4
4
  Summary: Foundation package for Maleo
5
5
  Author-email: Agra Bima Yuda <agra@nexmedis.com>
6
6
  License: MIT
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "maleo_foundation"
7
- version = "0.0.38"
7
+ version = "0.0.40"
8
8
  description = "Foundation package for Maleo"
9
9
  authors = [
10
10
  { name = "Agra Bima Yuda", email = "agra@nexmedis.com" }