{"id":380210,"date":"2026-10-12T21:35:18","date_gmt":"2026-10-12T21:35:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/seq-integration\/"},"modified":"2026-10-12T21:34:48","modified_gmt":"2026-10-12T21:34:48","slug":"structured-logging-for-seq","status":"publish","type":"plugin","link":"https:\/\/vi.wordpress.org\/plugins\/structured-logging-for-seq\/","author":23398095,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.1.3","requires":"6.5","requires_php":"8.1","requires_plugins":null,"header_name":"Arbyte Structured Logging for Seq","header_author":"ArByte","header_description":"Sends WordPress and WooCommerce log events to Seq using batched CLEF ingestion.","assets_banners_color":"","last_updated":"2026-10-12 21:34:48","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/structured-logging-for-seq\/","header_author_uri":"https:\/\/github.com\/ArByteIT\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":58,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"arbyteit","date":"2026-10-12 21:34:48","revision":3742535}},"upgrade_notice":[],"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[132814,1522,248562,286267,286],"plugin_category":[45],"plugin_contributors":[],"plugin_business_model":[],"class_list":["post-380210","plugin","type-plugin","status-publish","hentry","plugin_tags-clef","plugin_tags-logging","plugin_tags-observability","plugin_tags-seq","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_committers-arbyteit"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/structured-logging-for-seq.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>The plugin sends structured WordPress and WooCommerce log events to a Seq server using the CLEF ingestion format.<\/p>\n\n<p>Arbyte Structured Logging for Seq is an independent WordPress plugin and is not affiliated with, endorsed by, or sponsored by Datalust or the Seq project. Seq is a product of Datalust.<\/p>\n\n<p>Features:<\/p>\n\n<ul>\n<li>Sends WordPress PHP errors, uncaught exceptions, and fatal errors to Seq.<\/li>\n<li>Integrates with WooCommerce's log handler system when WooCommerce is active.<\/li>\n<li>Buffers events and sends them in batches of up to 100 events.<\/li>\n<li>Retries transient HTTP failures.<\/li>\n<li>Redacts sensitive context fields such as passwords, tokens, API keys, and credentials.<\/li>\n<li>Supports configurable minimum log levels.<\/li>\n<li>Provides an admin connection test.<\/li>\n<li>Supports configuration through the WordPress settings page or <code>wp-config.php<\/code> constants.<\/li>\n<\/ul>\n\n<p>The plugin installs an early bootstrap during activation so fatal errors that occur before normal plugin loading can also be reported. Events may contain exception messages, stack traces, file paths, site names, and site URLs. Configure the destination and retention policy in accordance with your privacy requirements.<\/p>\n\n<h3>Requirements<\/h3>\n\n<ul>\n<li>WordPress 6.5 or later<\/li>\n<li>PHP 8.1 or later<\/li>\n<li>A Seq server with CLEF ingestion enabled<\/li>\n<li>WooCommerce is optional; WooCommerce logs are forwarded automatically when it is active.<\/li>\n<\/ul>\n\n<h3>Configuration<\/h3>\n\n<p>The settings page supports the following options:<\/p>\n\n<ul>\n<li>Seq base URL<\/li>\n<li>Optional API key<\/li>\n<li>Minimum logging level: <code>debug<\/code>, <code>info<\/code>, <code>notice<\/code>, <code>warning<\/code>, <code>error<\/code>, <code>critical<\/code>, <code>alert<\/code>, or <code>emergency<\/code><\/li>\n<\/ul>\n\n<p>For deployment configuration, define these constants in <code>wp-config.php<\/code>:<\/p>\n\n<pre><code>`php\n<\/code><\/pre>\n\n<p>define('WP_SEQ_URL', 'https:\/\/seq.example.com');\ndefine('WP_SEQ_API_KEY', 'your-api-key');\ndefine('WP_SEQ_MIN_LEVEL', 'warning');\n    `<\/p>\n\n<p>Constants override the corresponding settings-page values. Fields overridden by constants are disabled in the settings page.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>structured-logging-for-seq<\/code> directory to <code>\/wp-content\/plugins\/<\/code> or install the plugin through the WordPress admin area.<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> screen.<\/li>\n<li>Go to <strong>Settings &gt; Seq<\/strong>.<\/li>\n<li>Enter the Seq base URL, for example <code>https:\/\/seq.example.com<\/code>.<\/li>\n<li>Optionally enter a Seq API key.<\/li>\n<li>Select the minimum logging level and save the settings.<\/li>\n<li>Use <strong>Test connection<\/strong> to verify the configuration.<\/li>\n<\/ol>\n\n<p>The CLEF ingestion endpoint is <code>&lt;seq-url&gt;\/ingest\/clef<\/code>.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"where%20are%20events%20sent%3F\"><h3>Where are events sent?<\/h3><\/dt>\n<dd><p>Events are sent to the <code>\/ingest\/clef<\/code> endpoint below the configured Seq base URL.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20require%20woocommerce%3F\"><h3>Does the plugin require WooCommerce?<\/h3><\/dt>\n<dd><p>No. WooCommerce support is optional and is enabled automatically when WooCommerce is active.<\/p><\/dd>\n<dt id=\"what%20happens%20when%20seq%20is%20unavailable%3F\"><h3>What happens when Seq is unavailable?<\/h3><\/dt>\n<dd><p>Normal delivery retries transient transport failures and HTTP 429 and 5xx responses. Events are held only in the current request and are not persisted locally.<\/p><\/dd>\n<dt id=\"how%20do%20i%20configure%20a%20different%20log%20level%20per%20environment%3F\"><h3>How do I configure a different log level per environment?<\/h3><\/dt>\n<dd><p>Set <code>WP_SEQ_MIN_LEVEL<\/code> in <code>wp-config.php<\/code>, or configure the value on the settings page. By default, production uses <code>warning<\/code>, staging uses <code>info<\/code>, and development and local environments use <code>debug<\/code>.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<li>Added batched CLEF delivery to Seq.<\/li>\n<li>Added WordPress and WooCommerce logging integration.<\/li>\n<li>Added settings-page and <code>wp-config.php<\/code> configuration.<\/li>\n<li>Added configurable log levels, retries, redaction, and early bootstrap logging.<\/li>\n<\/ul>","raw_excerpt":"Send WordPress and WooCommerce log events to Seq using batched CLEF ingestion.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/vi.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/380210","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vi.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/vi.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/vi.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=380210"}],"author":[{"embeddable":true,"href":"https:\/\/vi.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/arbyteit"}],"wp:attachment":[{"href":"https:\/\/vi.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=380210"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/vi.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=380210"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/vi.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=380210"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/vi.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=380210"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/vi.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=380210"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/vi.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=380210"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}