(ns Logger "Elixir Logger module — structured logging. In CljElixir: (Logger/info \"message\"), (Logger/debug (fn [] \"lazy\")), etc. Log levels: :emergency :alert :critical :error :warning :notice :info :debug") (defn debug "Logs a debug message. Accepts string or zero-arity fn (lazy evaluation). (Logger/debug \"detailed info\") (Logger/debug (fn [] (str \"user=\" user-id)))" ([message-or-fun]) ([message-or-fun metadata])) (defn info "Logs an info message. (Logger/info \"server started on port 4000\")" ([message-or-fun]) ([message-or-fun metadata])) (defn notice "Logs a notice message. (Logger/notice \"configuration changed\")" ([message-or-fun]) ([message-or-fun metadata])) (defn warning "Logs a warning message. (Logger/warning \"disk usage above 80%\")" ([message-or-fun]) ([message-or-fun metadata])) (defn error "Logs an error message. (Logger/error \"failed to connect to database\")" ([message-or-fun]) ([message-or-fun metadata])) (defn critical "Logs a critical message. (Logger/critical \"system overload detected\")" ([message-or-fun]) ([message-or-fun metadata])) (defn alert "Logs an alert message. (Logger/alert \"database corruption detected\")" ([message-or-fun]) ([message-or-fun metadata])) (defn emergency "Logs an emergency message. (Logger/emergency \"system is going down\")" ([message-or-fun]) ([message-or-fun metadata])) (defn log "Logs at the specified level. (Logger/log :info \"dynamic level logging\")" ([level message-or-fun]) ([level message-or-fun metadata])) (defn configure "Configures the logger at runtime. (Logger/configure :level :debug)" [options]) (defn level "Returns the current log level. (Logger/level) ;=> :info" []) (defn put-module-level "Sets log level for specific modules. (Logger/put-module-level MyModule :debug)" [module level]) (defn delete-module-level "Resets module-level logging to global. (Logger/delete-module-level MyModule)" [module]) (defn put-process-level "Sets log level for the current process. (Logger/put-process-level (Process/self) :debug)" [pid level]) (defn delete-process-level "Resets process-level logging. (Logger/delete-process-level pid)" [pid]) (defn enable "Enables logging for the current process." [pid]) (defn disable "Disables logging for the current process." [pid]) (defn metadata "Gets or sets logger metadata for the current process. (Logger/metadata) ;=> [] (Logger/metadata :request-id \"abc123\")" ([]) ([keyword-list])) (defn reset-metadata "Resets all logger metadata for the current process. (Logger/reset-metadata) ;=> :ok" ([]) ([keys])) (defn flush "Flushes the logger, ensuring all messages are processed. (Logger/flush) ;=> :ok" []) (defn add-backend "Adds a logging backend. (Logger/add-backend :console)" ([backend]) ([backend opts])) (defn remove-backend "Removes a logging backend." ([backend]) ([backend opts]))