<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<springProperty scope="context" name="APP_NAME" source="spring.application.name"/>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
import threading
class MinuteRingBuffer:
def __init__(self, window_minutes=15):
if window_minutes < 1:
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
'verbose': {
'format': '{levelname} {asctime} {module} {message}',
import uuid
import logging
class RequestIDMiddleware:
def __init__(self, get_response):
package observability
import (
"context"
"log/slog"
"os"
Rails.application.config.filter_parameters += [
:password,
:password_confirmation,
:token,
:authorization,
:ssn,
package com.example.observability;
public final class CorrelationIdConstants {
public static final String HEADER_NAME = "X-Correlation-Id";
public static final String MDC_KEY = "correlationId";
package com.example.tracing;
import jakarta.servlet.Filter;
import jakarta.servlet.FilterChain;
import jakarta.servlet.ServletException;
import jakarta.servlet.ServletRequest;
package observability
import (
"time"
"go.uber.org/zap"
class ApplicationError < StandardError
attr_reader :context
class << self
def context_keys(*keys)
@context_keys = keys unless keys.empty?
class ArticlesController < ApplicationController
def index
# Bounded queries: without preload, article.author in the view raises.
@articles = Article
.published
.preload(:author, :tags)
package logctx
import (
"context"
"log/slog"
)