From 71d04d9269a22920faec08fbc9f070b15f4d62ce Mon Sep 17 00:00:00 2001 From: shima004 Date: Wed, 11 Mar 2026 22:41:08 +0900 Subject: [PATCH 1/3] =?UTF-8?q?feat:=20=E3=83=AD=E3=82=AC=E3=83=BC?= =?UTF-8?q?=E8=A8=AD=E5=AE=9A=E3=82=92=E8=BF=BD=E5=8A=A0=E3=81=97=E3=80=81?= =?UTF-8?q?=E3=82=B3=E3=83=9E=E3=83=B3=E3=83=89=E3=83=A9=E3=82=A4=E3=83=B3?= =?UTF-8?q?=E5=BC=95=E6=95=B0=E3=81=8B=E3=82=89=E3=81=AE=E8=A8=AD=E5=AE=9A?= =?UTF-8?q?=E3=82=92=E3=82=B5=E3=83=9D=E3=83=BC=E3=83=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/launcher.yaml | 5 ++++ .../core/launcher/config_key.py | 4 ++++ src/adf_core_python/core/logger/logger.py | 13 ++++++---- src/adf_core_python/launcher.py | 24 ++++++++++++++++++- 4 files changed, 40 insertions(+), 6 deletions(-) diff --git a/config/launcher.yaml b/config/launcher.yaml index 7423a6c..3c3e530 100644 --- a/config/launcher.yaml +++ b/config/launcher.yaml @@ -24,6 +24,11 @@ adf: flag: true filename: config/development.json + logger: + file_name: agent.log + file_level: DEBUG + stream_level: INFO + team: platoon: ambulance: diff --git a/src/adf_core_python/core/launcher/config_key.py b/src/adf_core_python/core/launcher/config_key.py index 90d4f3c..63a6f43 100644 --- a/src/adf_core_python/core/launcher/config_key.py +++ b/src/adf_core_python/core/launcher/config_key.py @@ -25,6 +25,10 @@ class ConfigKey: KEY_POLICE_OFFICE_COUNT: Final[str] = "adf.team.office.police.count" # adf-core-python KEY_PRECOMPUTE_DATA_DIR: Final[str] = "adf.agent.precompute.dir_name" + # logger + KEY_LOGGER_FILE_NAME: Final[str] = "adf.logger.file_name" + KEY_LOGGER_FILE_LEVEL: Final[str] = "adf.logger.file_level" + KEY_LOGGER_STREAM_LEVEL: Final[str] = "adf.logger.stream_level" # Gateway KEY_GATEWAY_HOST: Final[str] = "gateway.host" KEY_GATEWAY_PORT: Final[str] = "gateway.port" diff --git a/src/adf_core_python/core/logger/logger.py b/src/adf_core_python/core/logger/logger.py index 2cb3d0c..cd4b76b 100644 --- a/src/adf_core_python/core/logger/logger.py +++ b/src/adf_core_python/core/logger/logger.py @@ -56,12 +56,15 @@ def get_agent_logger(name: str, agent_info: AgentInfo) -> BoundLogger: ) -def configure_logger() -> None: +def configure_logger( + log_file: str = "agent.log", + file_level: int | str = logging.DEBUG, + stream_level: int | str = logging.INFO, +) -> None: # 既存のログファイルが存在する場合、日付付きでバックアップする - log_file = "agent.log" if os.path.exists(log_file): timestamp = datetime.now().strftime("%Y%m%d_%H%M%S") - backup_file = f"agent_{timestamp}.log" + backup_file = f"{log_file}_{timestamp}.log" os.rename(log_file, backup_file) structlog.configure( @@ -83,13 +86,13 @@ def configure_logger() -> None: handler_stdout.setFormatter( structlog.stdlib.ProcessorFormatter(processor=ConsoleRenderer()) ) - handler_stdout.setLevel(logging.INFO) + handler_stdout.setLevel(stream_level) handler_file = logging.FileHandler(log_file) handler_file.setFormatter( structlog.stdlib.ProcessorFormatter(processor=JSONRenderer()) ) - handler_file.setLevel(logging.DEBUG) + handler_file.setLevel(file_level) root_logger = logging.getLogger() root_logger.addHandler(handler_stdout) diff --git a/src/adf_core_python/launcher.py b/src/adf_core_python/launcher.py index e69b17a..492de57 100644 --- a/src/adf_core_python/launcher.py +++ b/src/adf_core_python/launcher.py @@ -95,6 +95,24 @@ def __init__( action="store_true", help="using java module flag", ) + parser.add_argument( + "--logger-file-name", + type=str, + help="logger file name", + metavar="", + ) + parser.add_argument( + "--logger-file-level", + type=str, + help="logger file level", + metavar="", + ) + parser.add_argument( + "--logger-stream-level", + type=str, + help="logger stream level", + metavar="", + ) args = parser.parse_args() config_map = { @@ -116,7 +134,11 @@ def __init__( if value is not None: self.launcher_config.set_value(key, value) - configure_logger() + configure_logger( + log_file=args.logger_file_name or self.launcher_config.get_value(ConfigKey.KEY_LOGGER_FILE_NAME, "agent.log"), + file_level=args.logger_file_level or self.launcher_config.get_value(ConfigKey.KEY_LOGGER_FILE_LEVEL, "DEBUG"), + stream_level=args.logger_stream_level or self.launcher_config.get_value(ConfigKey.KEY_LOGGER_STREAM_LEVEL, "INFO"), + ) self.logger = get_logger(__name__) self.logger.debug(f"launcher_config: {self.launcher_config}") From 55eff0c121776986c6f801ec7e3bf9ec89aa45a6 Mon Sep 17 00:00:00 2001 From: shima004 Date: Wed, 11 Mar 2026 22:41:28 +0900 Subject: [PATCH 2/3] =?UTF-8?q?fix:=20=E3=83=90=E3=83=BC=E3=82=B8=E3=83=A7?= =?UTF-8?q?=E3=83=B3=E3=82=920.2.7=E3=81=8B=E3=82=890.2.8=E3=81=AB?= =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pyproject.toml | 2 +- uv.lock | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index d00bae7..12f07a6 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "adf_core_python" -version = "0.2.7" +version = "0.2.8" description = "Agent Development Framework for Python" readme = "README.md" authors = [ diff --git a/uv.lock b/uv.lock index 1a50c61..cd2a3b3 100644 --- a/uv.lock +++ b/uv.lock @@ -16,7 +16,7 @@ wheels = [ [[package]] name = "adf-core-python" -version = "0.2.7" +version = "0.2.8" source = { editable = "." } dependencies = [ { name = "bitarray" }, From 9dd2836031ffbb9a0cd70573c359f477e576ee8a Mon Sep 17 00:00:00 2001 From: shima004 Date: Wed, 11 Mar 2026 22:43:55 +0900 Subject: [PATCH 3/3] =?UTF-8?q?feat:=20=E3=83=AD=E3=82=AC=E3=83=BC?= =?UTF-8?q?=E8=A8=AD=E5=AE=9A=E3=81=AE=E5=BC=95=E6=95=B0=E3=82=92=E6=95=B4?= =?UTF-8?q?=E5=BD=A2=E3=81=97=E3=80=81=E5=8F=AF=E8=AA=AD=E6=80=A7=E3=82=92?= =?UTF-8?q?=E5=90=91=E4=B8=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/adf_core_python/launcher.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/adf_core_python/launcher.py b/src/adf_core_python/launcher.py index 492de57..c3a111b 100644 --- a/src/adf_core_python/launcher.py +++ b/src/adf_core_python/launcher.py @@ -135,9 +135,12 @@ def __init__( self.launcher_config.set_value(key, value) configure_logger( - log_file=args.logger_file_name or self.launcher_config.get_value(ConfigKey.KEY_LOGGER_FILE_NAME, "agent.log"), - file_level=args.logger_file_level or self.launcher_config.get_value(ConfigKey.KEY_LOGGER_FILE_LEVEL, "DEBUG"), - stream_level=args.logger_stream_level or self.launcher_config.get_value(ConfigKey.KEY_LOGGER_STREAM_LEVEL, "INFO"), + log_file=args.logger_file_name + or self.launcher_config.get_value(ConfigKey.KEY_LOGGER_FILE_NAME, "agent.log"), + file_level=args.logger_file_level + or self.launcher_config.get_value(ConfigKey.KEY_LOGGER_FILE_LEVEL, "DEBUG"), + stream_level=args.logger_stream_level + or self.launcher_config.get_value(ConfigKey.KEY_LOGGER_STREAM_LEVEL, "INFO"), ) self.logger = get_logger(__name__)