invoke-ai/InvokeAI · error · ValueError
{args} is not a value argument list for syslog logging
Error message
{args} is not a value argument list for syslog logging What it means
InvokeAI's get_loggers parses user-supplied syslog handler arguments (e.g. 'syslog=host,facility=...', 'dev_log=/dev/log') via _parse_syslog_args, mapping names through _FACILITY_MAP/_SOCK_MAP. If any exception occurs while interpreting the argument list — unknown facility/socktype, bad indices, malformed key=value pairs — the generic except re-raises it as this ValueError. It signals the syslog logging config string was not valid.
Source
Thrown at invokeai/backend/util/logging.py:406
raise ValueError("syslog is not available on this system")
if not args:
args = "/dev/log" if Path("/dev/log").exists() else "address:localhost:514"
syslog_args: Dict[str, Any] = {}
try:
for a in args.split(","):
arg_name, *arg_value = a.split(":", 2)
if arg_name == "address":
host, *port_list = arg_value
port = 514 if not port_list else int(port_list[0])
syslog_args["address"] = (host, port)
elif arg_name == "facility":
syslog_args["facility"] = _FACILITY_MAP[arg_value[0]]
elif arg_name == "socktype":
syslog_args["socktype"] = _SOCK_MAP[arg_value[0]]
else:
syslog_args["address"] = arg_name
except Exception:
raise ValueError(f"{args} is not a value argument list for syslog logging")
return logging.handlers.SysLogHandler(**syslog_args)
@staticmethod
def _parse_file_args(args: Optional[str] = None) -> logging.Handler: # noqa D102
if not args:
raise ValueError("please provide filename for file logging using format 'file=/path/to/logfile.txt'")
return logging.FileHandler(args)
@staticmethod
def _parse_http_args(args: Optional[str] = None) -> logging.Handler: # noqa D102
if not args:
raise ValueError("please provide destination for http logging using format 'http=url'")
arg_list = args.split(",")
url = urllib.parse.urlparse(arg_list.pop(0))
if url.scheme != "http":
raise ValueError(f"the http logging module can only log to HTTP URLs, but {url.scheme} was specified")
host = url.hostname
path = url.pathView on GitHub (pinned to 0b6a024f2f)
Solutions
- Check the syslog argument string matches the expected format: name=value pairs for facility and socktype, plus an address arg.
- Verify facility and socktype values are keys in _FACILITY_MAP and _SOCK_MAP in invokeai/backend/util/logging.py.
- Provide a value after each key (e.g. facility=local7,socktype=udp); missing values cause the exception.
- Temporarily remove the syslog arg to confirm the rest of the logging config works, then re-add pieces incrementally.
Example fix
// before logging="syslog=host=facility=audit" // after logging="syslog=/dev/log,facility=daemon,socktype=udp"
Defensive patterns
Strategy: validation
Validate before calling
def validate_syslog_args(args: str) -> bool:
parts = [p for p in args.split(",") if p]
return all(("=" in p) or p for p in parts) and len(parts) > 0 Try / catch
try:
logger = get_loggers(app, log_level_name, format="syslog=...,facility=daemon,socktype=udp")
except ValueError as e:
if "is not a value argument list for syslog" in str(e):
logger = get_loggers(app, log_level_name, format="console") # fall back Prevention
- Copy syslog arg format exactly from the docs: address[,facility=NAME][,socktype=udp|tcp].
- Cross-check facility/socktype names against _FACILITY_MAP and _SOCK_MAP in invokeai/backend/util/logging.py.
- Test the logging config with a minimal startup before deploying.
When it happens
Trigger: Calling get_loggers (or InvokeAIAppConfig logging config) with a syslog argument list that references a facility or socktype name not present in _FACILITY_MAP/_SOCK_MAP, uses wrong positional value format, or otherwise causes any exception during parsing (e.g. missing value after 'facility=' or 'socktype=').
Common situations: Typos in facility names ('local1' vs 'local1' style mismatches, 'daemon' misspelled), using socktype values like 'tcp'/'udp' in an unexpected format, passing syslog args without a value list, copying an example from another logging library.
Related errors
- please provide filename for file logging using format 'file=
- please provide destination for http logging using format 'ht
- the http logging module can only log to HTTP URLs, but {url.
- Invalid mode selected
- Unexpected control_input type: ${type(control_input)}
AI-assisted analysis of invoke-ai/InvokeAI@0b6a024f2f (2026-08-29).
Data as JSON: /api/errors/e838a04758e9cd60.
Report an issue: GitHub.