log4r

log4r is a skill for Claude Code, Codex from LeoLin990405/r-analytics-skill. It costs 24 tokens per session (837 once invoked), scanned A, original, MIT.

A simple R logging package for writing messages at levels such as debug, information, warning, error, and fatal.

In plain words
What is it for?
Use it to add basic application logging, set a minimum message level, and configure console or file outputs.
Why use it?
It provides a small way to record what an R program is doing and direct messages to the console or a file.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit Use it to add basic application logging, set a minimum message level, and configure console or file outputs.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/leolin990405/r-analytics-skill/log4r
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add LeoLin990405/r-analytics-skill --skill log4r
Clone the repo
git clone --depth 1 https://github.com/LeoLin990405/r-analytics-skill

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for log4r

README.md
[![agentmods](https://agentmods.dev/badge/skills/leolin990405/r-analytics-skill/log4r/github.svg)](https://agentmods.dev/skills/leolin990405/r-analytics-skill/log4r)
Your own site
<a href="https://agentmods.dev/skills/leolin990405/r-analytics-skill/log4r"><img src="https://agentmods.dev/badge/skills/leolin990405/r-analytics-skill/log4r/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for log4r

Your own site · 80×15
<a href="https://agentmods.dev/skills/leolin990405/r-analytics-skill/log4r"><img src="https://agentmods.dev/badge/skills/leolin990405/r-analytics-skill/log4r.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 24 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 837 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00024 $0.00837
Opus 5 $0.00012 $0.00418
Sonnet 5 $0.00005 $0.00167
Haiku 4.5 $0.00002 $0.00084

Measured 8d ago against content hash bb07cf126dd1, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-12, from the pricing page.

Security

Grade A, and why

log4r scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 8d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

sub-skills/r-logging/log4r/SKILL.md · 190 lines

How it starts

The opening of the file, as written. The whole thing — 190 lines — stays where its author put it; the contents beside it link to each section on GitHub.

log4r

Simple, fast logging for R.

Basic Usage

library(log4r)

# Create logger
logger <- logger()

# Log messages
debug(logger, "Debug message")
info(logger, "Info message")
warn(logger, "Warning message")
error(logger, "Error message")
fatal(logger, "Fatal message")

Logger Configuration

# Create logger with options
logger <- logger(
  threshold = "INFO",
  appenders = console_appender()
)

# With file appender
logger <- logger(
  threshold = "DEBUG",
  appenders = file_appender("app.log")
)

# Multiple appenders
logger <- logger(
  threshold = "INFO",
  appenders = list(
    console_appender(),
    file_appender("app.log")
  )
)

Log Levels

# Levels (lowest to highest)
# DEBUG < INFO < WARN < ERROR < FATAL

# Set threshold
logger <- logger(threshold = "WARN")

# Level constants
log4r:::DEBUG
log4r:::INFO
log4r:::WARN
log4r:::ERROR
log4r:::FATAL

Appenders

# Console appender
console_appender(layout = default_log_layout())

# File appender
file_appender(
  file = "app.log",
  append = TRUE,
  layout = default_log_layout()
)

# Custom appender
my_appender <- function(level, ...) {
  msg <- paste(..., collapse = " ")
  # Custom logic
  cat(sprintf("[%s] %s\n", level, msg))
}

Layouts

# Default layout
default_log_layout()

# Custom layout function
my_layout <- function(level, ...) {
  msg <- paste(..., collapse = " ")
  sprintf("[%s] [%s] %s",
          format(Sys.time(), "%Y-%m-%d %H:%M:%S"),
          level,
          msg)
}

logger <- logger(
  appenders = console_appender(layout = my_layout)
)

Formatted Messages

# Use sprintf-style formatting
info(logger, sprintf("Processing file: %s", filename))
info(logger, sprintf("Completed %d of %d", current, total))

# Or paste
info(logger, "User", user, "logged in")

Conditional Logging

# Check level before expensive operations
if (logger$threshold <= log4r:::DEBUG) {
  debug(logger, expensive_computation())
}

Global Logger

# Create global logger
.logger <- logger(threshold = "INFO")

# Wrapper functions
log_debug <- function(...) debug(.logger, ...)
log_info <- function(...) info(.logger, ...)
log_warn <- function(...) warn(.logger, ...)
log_error <- function(...) error(.logger, ...)

# Use throughout application
log_info("Application started")

Read the full file on GitHub · 190 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 8d ago First seen · 190 lines · 24 tokens per session scan A bb07cf126dd1

Subscribe to this mod's changes

log4r is a skill published in the GitHub repository LeoLin990405/r-analytics-skill (5 stars, last pushed 6mo ago), licensed MIT. It adds 24 tokens to every session and 837 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.

Related

Other skills, from other repositories

alibaba-observability-incident-responder

Respond to Alibaba Cloud incidents using CloudMonitor alarms, SLS log analytics, ARMS APM distributed tracing, and alert governance for ECS, RDS, ACK, and network services.

VincentChuWaiChow/vanguard-frontier-agentic · 47 tokens

azure-resource-health-incident-triage

Use this skill for Azure Resource Health, Service Health, activity-log alert, and first-pass incident triage when the question is whether Azure platform health is part of the problem.

VincentChuWaiChow/vanguard-frontier-agentic · 0 tokens

aws-observability-incident-responder

Investigate broad AWS incidents and observability gaps using CloudWatch metrics, logs, alarms, traces, EventBridge events, service health, runbooks, timelines, blast radius, root-cause discipline, and post-incident actions. Prefer RDS/Aurora investigator for database-specific performance incidents.

VincentChuWaiChow/vanguard-frontier-agentic · 68 tokens

aws-rds-aurora-performance-investigator

Investigate Amazon RDS and Aurora-specific incidents involving latency, connection exhaustion, slow queries, lock waits, storage pressure, CPU/I/O saturation, replica lag, failover behavior, Performance Insights, and database capacity. Prefer this for database performance; prefer broad observability responder for…

VincentChuWaiChow/vanguard-frontier-agentic · 70 tokens

azure-cosmosdb-performance-investigator

Use this skill for Azure Cosmos DB performance investigation, especially RU spikes, query latency, throttling, hot partitions, indexing inefficiency, partition-skew analysis, request-charge profiling, diagnostic-log review, and evidence-driven remediation planning.

VincentChuWaiChow/vanguard-frontier-agentic · 0 tokens

azure-observability-investigator

Use this skill for Azure Monitor, Log Analytics, Application Insights, alerting, KQL triage, telemetry-gap analysis, workbooks, or operator-grade incident and posture investigations.

VincentChuWaiChow/vanguard-frontier-agentic · 0 tokens