|
3 | 3 | import datetime |
4 | 4 | import errno |
5 | 5 | import os |
6 | | -import typing |
7 | 6 |
|
| 7 | +from openhexa.sdk.pipelines.log_level import LogLevel |
8 | 8 | from openhexa.sdk.utils import Environment, get_environment, graphql |
9 | 9 | from openhexa.sdk.workspaces import workspace |
10 | 10 |
|
@@ -75,45 +75,45 @@ def add_database_output(self, table_name: str): |
75 | 75 | print(f"Sending output with table_name {table_name}") |
76 | 76 |
|
77 | 77 | def log_debug(self, message: str): |
78 | | - """Log a message with the DEBUG priority.""" |
79 | | - self._log_message("DEBUG", message) |
| 78 | + """Log a message with the DEBUG level.""" |
| 79 | + self._log_message(LogLevel.DEBUG, message) |
80 | 80 |
|
81 | 81 | def log_info(self, message: str): |
82 | | - """Log a message with the INFO priority.""" |
83 | | - self._log_message("INFO", message) |
| 82 | + """Log a message with the INFO level.""" |
| 83 | + self._log_message(LogLevel.INFO, message) |
84 | 84 |
|
85 | 85 | def log_warning(self, message: str): |
86 | | - """Log a message with the WARNING priority.""" |
87 | | - self._log_message("WARNING", message) |
| 86 | + """Log a message with the WARNING level.""" |
| 87 | + self._log_message(LogLevel.WARNING, message) |
88 | 88 |
|
89 | 89 | def log_error(self, message: str): |
90 | | - """Log a message with the ERROR priority.""" |
91 | | - self._log_message("ERROR", message) |
| 90 | + """Log a message with the ERROR level.""" |
| 91 | + self._log_message(LogLevel.ERROR, message) |
92 | 92 |
|
93 | 93 | def log_critical(self, message: str): |
94 | | - """Log a message with the CRITICAL priority.""" |
95 | | - self._log_message("CRITICAL", message) |
| 94 | + """Log a message with the CRITICAL level.""" |
| 95 | + self._log_message(LogLevel.CRITICAL, message) |
96 | 96 |
|
97 | 97 | def _log_message( |
98 | 98 | self, |
99 | | - priority: typing.Literal["DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL"], |
| 99 | + log_level: LogLevel, |
100 | 100 | message: str, |
101 | 101 | ): |
102 | | - valid_priorities = ["DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL"] |
103 | | - if priority not in valid_priorities: |
104 | | - raise ValueError(f"priority must be one of {', '.join(valid_priorities)}") |
| 102 | + from openhexa.cli.settings import settings |
105 | 103 |
|
| 104 | + if log_level < settings.log_level: # Ignore messages with lower log level than the settings |
| 105 | + return |
106 | 106 | if self._connected: |
107 | 107 | graphql( |
108 | 108 | """ |
109 | 109 | mutation logPipelineMessage ($input: LogPipelineMessageInput!) { |
110 | 110 | logPipelineMessage(input: $input) { success errors } |
111 | 111 | }""", |
112 | | - {"input": {"priority": priority, "message": str(message)}}, |
| 112 | + {"input": {"priority": log_level.name, "message": str(message)}}, |
113 | 113 | ) |
114 | 114 | else: |
115 | 115 | now = datetime.datetime.now(tz=datetime.timezone.utc).replace(microsecond=0).isoformat() |
116 | | - print(now, priority, message) |
| 116 | + print(now, log_level.name, message) |
117 | 117 |
|
118 | 118 |
|
119 | 119 | if get_environment() == Environment.CLOUD_JUPYTER: |
|
0 commit comments