feat: add psagentai agent with deployment and configuration
Initial project setup including the main agent script, configuration files, profile JSON state, systemd service unit, startup script, deployment documentation, and Python dependencies. Includes .env, venv/, and __pycache__/ which should likely be excluded via .gitignore to avoid committing secrets and artifacts.
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
import sys
|
||||
import inspect
|
||||
import logging
|
||||
import distutils.log
|
||||
from . import monkey
|
||||
|
||||
|
||||
def _not_warning(record):
|
||||
return record.levelno < logging.WARNING
|
||||
|
||||
|
||||
def configure():
|
||||
"""
|
||||
Configure logging to emit warning and above to stderr
|
||||
and everything else to stdout. This behavior is provided
|
||||
for compatibility with distutils.log but may change in
|
||||
the future.
|
||||
"""
|
||||
err_handler = logging.StreamHandler()
|
||||
err_handler.setLevel(logging.WARNING)
|
||||
out_handler = logging.StreamHandler(sys.stdout)
|
||||
out_handler.addFilter(_not_warning)
|
||||
handlers = err_handler, out_handler
|
||||
logging.basicConfig(
|
||||
format="{message}", style='{', handlers=handlers, level=logging.DEBUG)
|
||||
if inspect.ismodule(distutils.dist.log):
|
||||
monkey.patch_func(set_threshold, distutils.log, 'set_threshold')
|
||||
# For some reason `distutils.log` module is getting cached in `distutils.dist`
|
||||
# and then loaded again when patched,
|
||||
# implying: id(distutils.log) != id(distutils.dist.log).
|
||||
# Make sure the same module object is used everywhere:
|
||||
distutils.dist.log = distutils.log
|
||||
|
||||
|
||||
def set_threshold(level):
|
||||
logging.root.setLevel(level*10)
|
||||
return set_threshold.unpatched(level)
|
||||
Reference in New Issue
Block a user