Bronto’s Custom Parser feature, powered by LLMs, enables you to automatically create custom log parsers for your specific data formats and requirements. Build, configure, and manage parsers that extract structured data from raw logs, transforming unstructured text into queryable, analyzable log events. Whether you’re working with application logs, system logs, or custom formats, our custom parsing tool provides the flexibility to handle a diverse range of log data.
Create custom parsers with intuitive naming and description fields to help your team understand each parser’s purpose and functionality. Define exactly what data you want to extract and how it should be structured.
View raw log samples and see immediate parsing results as you configure your parser. Test your parsing logic against actual data before deploying to ensure accuracy and completeness.
Bronto uses AWS Bedrock as a managed service to access LLMs such as Claude. The infrastructure automatically selects the most appropriate model for each task and sends a structured prompt — for example, the AI log parser builds a prompt that instructs the model which patterns to avoid and how to handle keys such as timestamps. Model selection and prompt construction are handled automatically, so users can get started immediately without configuration.AWS Bedrock also provides the following security and compliance benefits relevant to a SaaS environment:
Content safety – Built-in safeguards to detect and filter harmful content
Data privacy – It never stores or uses our data to train models
Network isolation – All data remains within the AWS network
Native integration – Works seamlessly with Lambda, S3, and other AWS services, allowing AI capabilities to be incorporated without rearchitecting existing systems
Navigate to the Parsing section from the main Bronto navigation menu.
Select “Dataset List” to view available parsers or create new ones.
Choose a dataset from your data sources.
Configure your parser with appropriate field mappings.
Test with sample data to verify parsing accuracy. Ensure the dataset includes a minimum of 100 events from the last 24 hours.
Deploy and monitor your parser’s performance.
If you configure a custom parser, any dashboards, saved searches, or monitors
that rely on specific key names in the log may stop working if those keys are
renamed.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Bronto Docs","colors":{"primary":"#F4C430","light":"#F4C430","dark":"#F4C430"},"logo":{"light":"https://mintcdn.com/bronto/XgZO_N2_fZQn0lij/logo/bronto_mark.png?fit=max\u0026auto=format\u0026n=XgZO_N2_fZQn0lij\u0026q=85\u0026s=9d3e675d8cd714b8dbd1f1753438f856","dark":"https://mintcdn.com/bronto/XgZO_N2_fZQn0lij/logo/bronto_mark.png?fit=max\u0026auto=format\u0026n=XgZO_N2_fZQn0lij\u0026q=85\u0026s=9d3e675d8cd714b8dbd1f1753438f856","href":"https://www.bronto.io"},"favicon":"https://mintcdn.com/bronto/XgZO_N2_fZQn0lij/logo/favicon.png?fit=max\u0026auto=format\u0026n=XgZO_N2_fZQn0lij\u0026q=85\u0026s=26a0f5f54bf49ad88d2a110a0dc1bb04","appearance":{"default":"dark"},"background":{"color":{"light":"#F8F7F3","dark":"#0A0B0E"}},"navbar":{"links":[{"href":"https://app.bronto.io/login","label":"Login"}],"primary":{"type":"button","label":"Book a demo","href":"https://www.bronto.io/book-a-demo"}},"footer":{"socials":{"linkedin":"https://www.linkedin.com/company/brontohq"}},"seo":{"metatags":{"og:type":"website","og:site_name":"Bronto Docs","twitter:card":"summary_large_image","applicationName":"Bronto Docs"},"indexing":"all"},"fonts":{"heading":{"family":"Radio Canada Big"},"body":{"family":"Radio Canada Big"}},"icons":{"library":"lucide"},"styling":{"codeblocks":"dark","latex":true},"contextual":{"options":["copy","view","chatgpt","claude","mcp","cursor","vscode"],"display":"header"},"navigation":{"global":{"anchors":[{"anchor":"Trust","icon":"shield","href":"https://trust.bronto.io/"},{"anchor":"Book a Demo","icon":"calendar","href":"https://www.bronto.io/book-a-demo"},{"anchor":"Status","icon":"signal","href":"https://status.bronto.io"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"bronto","hasAudioNarration":false,"actualSubdomain":"bronto","customDomains":["docs.bronto.io"],"gitSource":{"type":"github","owner":"brontoio","repo":"bronto-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6aec60f5b7a0003c6d811605","collectionId":"8b7ab040-7962-4482-96c0-c0058aa0e114","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6aec60f5b7a0003c6d811605"},"feedback":{"thumbs":false,"issues":true,"edits":true,"agentFeedback":false},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6aedaad5b5c73ad147ee3a93","clientVersion":"0.0.4074","searchFilterCounts":[{"language":"default","tag":"API Reference","count":144},{"language":"default","tag":"Ingest Data","count":109},{"language":"default","tag":"CLI","count":65},{"language":"default","tag":"Reference","count":45},{"language":"default","tag":"Getting Started and UI","count":40},{"language":"default","tag":"Commands","count":40},{"language":"default","tag":"Ingest from AWS","count":32},{"language":"default","tag":"AWS Services","count":21},{"language":"default","tag":"AI Assisted Observability","count":20},{"language":"default","tag":"integrations","count":19}]},"assistantConfig":{"enableAskAiButton":true,"enableStarterQuestions":true,"enableContextualStarterQuestions":true,"enableAskAiSearchBar":false,"deflection":{"enabled":true,"email":"support@bronto.io","showHelpButton":true}},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[{"filePath":"styles/welcome-style.css","content":"[data-page=\"welcome\"]{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:4rem 2rem}[data-page=\"welcome\"] h1{font-size:3rem;font-weight:bold;color:#F4C430;margin-bottom:1.5rem}[data-page=\"welcome\"] .content-container{max-width:800px;margin:0 auto}[data-page=\"welcome\"] .side-nav{display:none}[data-page=\"welcome\"] img{max-width:100%;height:auto;margin-bottom:2rem}[data-page=\"welcome\"] .CardGroup{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-top:2rem}[data-page=\"welcome\"] .Card{background:#1e1e1e;color:white;padding:1.5rem;border-radius:8px;transition:transform 0.2s ease-in-out}[data-page=\"welcome\"] .Card:hover{transform:scale(1.05)}[data-page=\"welcome\"] .Card h2{font-size:1.5rem;color:#F4C430;margin-bottom:0.5rem}"},{"filePath":"styles/brand-icons.css","content":"img[src^=\"/images/icons/\"]{object-fit:contain}html.dark img[src$=\"/images/icons/aws.svg\"]{content:url(\"/images/icons/aws-dark.svg\")}html.dark img[src$=\"/images/icons/kafka.svg\"]{content:url(\"/images/icons/kafka-dark.svg\")}html.dark img[src$=\"/images/icons/kong.svg\"]{content:url(\"/images/icons/kong-dark.svg\")}html.dark img[src$=\"/images/icons/rust.svg\"]{content:url(\"/images/icons/rust-dark.svg\")}html.dark img[src$=\"/images/icons/vercel.svg\"]{content:url(\"/images/icons/vercel-dark.svg\")}html.dark img[src$=\"/images/icons/auth0.svg\"]{content:url(\"/images/icons/auth0-dark.svg\")}html.dark img[src$=\"/images/icons/okta.svg\"]{content:url(\"/images/icons/okta-dark.svg\")}html.dark img[src$=\"/images/icons/mysql.svg\"]{content:url(\"/images/icons/mysql-dark.svg\")}html.dark img[src$=\"/images/icons/heroku.svg\"]{content:url(\"/images/icons/heroku-dark.svg\")}html.dark img[src$=\"/images/icons/langchain.svg\"]{content:url(\"/images/icons/langchain-dark.svg\")}html.dark img[src$=\"/images/icons/mcp.svg\"]{content:url(\"/images/icons/mcp-dark.svg\")}"},{"filePath":"styles/buttons.css","content":"html:not(.dark) #topbar-cta-button a>span:first-child{background-color:#151513}"},{"filePath":"styles/card-icons.css","content":"[data-component-part=\"card-content-container\"]:has([data-component-part=\"card-icon\"]){display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center}[data-component-part=\"card-content-container\"] div:has(>[data-component-part=\"card-title\"]){display:contents}[data-component-part=\"card-icon\"]{grid-column:1;grid-row:1;display:flex;width:16px;height:16px}[data-component-part=\"card-icon\"]>svg{width:16px!important;height:16px!important}[data-component-part=\"card-content-container\"]:has([data-component-part=\"card-icon\"]) [data-component-part=\"card-title\"]{grid-column:2;grid-row:1;margin-top:0}[data-component-part=\"card-content-container\"]:has([data-component-part=\"card-icon\"]) [data-component-part=\"card-content\"]{grid-column:1 / -1;margin-top:4px}.card:hover [data-component-part=\"card-content-container\"]>a>div.absolute{color:rgb(var(--gray-400))}html.dark .card:hover [data-component-part=\"card-content-container\"]>a>div.absolute{color:rgb(var(--gray-500))}"},{"filePath":"styles/cards.css","content":".card{border-width:0}html.dark .card{box-shadow:0 0 0 1px rgb(255 255 255 / 0.1);transition:box-shadow 150ms ease-out}html.dark .card:hover{box-shadow:0 0 0 1px rgb(255 255 255 / 0.18), 0 8px 24px -8px rgb(0 0 0 / 0.5)}html:not(.dark) .card{--card-shadow:\n 0 0 0 1px hsl(40 20% 20% / 0.04),\n 0 1px 2px hsl(40 20% 20% / 0.04),\n 0 2px 6px -1px hsl(40 20% 20% / 0.06),\n 0 6px 14px -6px hsl(40 20% 20% / 0.08);--card-shadow-hover:\n 0 0 0 1px hsl(40 20% 20% / 0.06),\n 0 2px 4px hsl(40 20% 20% / 0.05),\n 0 4px 10px -2px hsl(40 20% 20% / 0.08),\n 0 12px 24px -8px hsl(40 20% 20% / 0.12);background-color:#ffffff;border-radius:12px;box-shadow:var(--card-shadow);transition:box-shadow 150ms ease-out}html:not(.dark) .card:hover{box-shadow:var(--card-shadow-hover)}.card [data-component-part=\"card-content-container\"]{padding:14px 16px}.card h2{font-family:\"Radio Canada Big\", sans-serif;font-size:14px;font-weight:600;letter-spacing:-0.02em}html:not(.dark) .card h2{color:#151513}"},{"filePath":"styles/dark-mode.css","content":"html.dark{--background-dark: 10 11 14;--primary: 43 127 255;--primary-light: 43 127 255;--primary-dark: 43 127 255;--gray-50: 248 249 251;--gray-100: 238 240 244;--gray-200: 238 240 244;--gray-300: 205 209 217;--gray-400: 144 151 165;--gray-500: 104 109 120;--gray-600: 74 79 89;--gray-700: 48 52 60;--gray-800: 34 38 45;--gray-900: 20 22 27;--gray-950: 10 11 14}html.dark .card{background-color:#14161B;box-shadow:0 0 0 1px #22262D}html.dark .card:hover{box-shadow:0 0 0 1px #2E333C, 0 8px 24px -8px rgb(0 0 0 / 0.6)}html.dark #navbar-transition,html.dark #navbar .h-16>div{border-color:#191C21}html.dark #sidebar .sidebar-group-header{color:#686D78}html.dark #sidebar a:not([aria-current]),html.dark #sidebar button{color:#CDD1D9}html.dark #sidebar .sidebar-group a:not([aria-current]):hover,html.dark #sidebar .sidebar-group button:hover,html.dark #sidebar a.nav-anchor:hover{background-color:#14161B}html.dark #sidebar a[aria-current]{background-color:#242732;color:#EEF0F4}html.dark #sidebar a[aria-current] svg{background-color:#EEF0F4}"},{"filePath":"styles/footer.css","content":"#footer{margin-top:40px;padding-top:24px;padding-bottom:40px}[data-assistant-bar].invisible{height:0;overflow:hidden}"},{"filePath":"styles/header.css","content":"@media (min-width: 1024px){:root{--mintlify-slot-header-height: 92px;--topbar-tabs-height: 40px}#navbar .h-16:has(.nav-logo){height:52px}#navbar div:has(>.nav-tabs){height:40px}}#search-bar-entry,#assistant-entry{height:32px;border-radius:8px}html:not(.dark) #search-bar-entry,html:not(.dark) #assistant-entry,html:not(.dark) .chat-assistant-floating-input .rounded-2xl{background-color:#ffffff;border-color:transparent;box-shadow:0 0 0 1px hsl(40 20% 20% / 0.04),\n 0 1px 2px hsl(40 20% 20% / 0.04),\n 0 2px 6px -1px hsl(40 20% 20% / 0.06),\n 0 6px 14px -6px hsl(40 20% 20% / 0.08);transition:box-shadow 150ms ease-out}html:not(.dark) #search-bar-entry:hover,html:not(.dark) #assistant-entry:hover,html:not(.dark) .chat-assistant-floating-input .rounded-2xl:hover,html:not(.dark) .chat-assistant-floating-input .rounded-2xl:focus-within{box-shadow:0 0 0 1px hsl(40 20% 20% / 0.06),\n 0 2px 4px hsl(40 20% 20% / 0.05),\n 0 4px 10px -2px hsl(40 20% 20% / 0.08),\n 0 12px 24px -8px hsl(40 20% 20% / 0.12)}html:not(.dark) .chat-assistant-floating-input .rounded-2xl{border-radius:12px}#navbar div:has(>#theme-preference-menu-trigger){order:-1}#navbar div:has(>nav):has(#theme-preference-menu-trigger){gap:10px}#navbar div:has(>nav):has(#theme-preference-menu-trigger)>*{margin-inline:0}#navbar nav>ul{gap:10px}#navbar nav>ul>li{margin-inline:0}#navbar li.navbar-link>a{height:32px;padding:0 12px;border-radius:8px;font-weight:500;color:#151513;background-color:#ffffff;box-shadow:0 0 0 1px hsl(40 20% 20% / 0.1),\n 0 1px 2px hsl(40 20% 20% / 0.06);transition:background-color 150ms ease-out}#navbar li.navbar-link>a:hover{background-color:#F1EFE7}html.dark #navbar li.navbar-link>a{color:rgb(var(--gray-200));background-color:rgb(255 255 255 / 0.05);box-shadow:0 0 0 1px rgb(255 255 255 / 0.1)}html.dark #navbar li.navbar-link>a:hover{background-color:rgb(255 255 255 / 0.1)}#topbar-cta-button>a{height:32px;padding:0 12px}#topbar-cta-button svg{display:none}#topbar-cta-button>a>span:first-child{border-radius:8px}"},{"filePath":"styles/hero.css","content":"/* cyrillic-ext */\n@font-face {\n font-family: 'Source Serif Pro';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/sourceserifpro/v19/neIXzD-0qpwxpaWvjeD0X88SAOeasasatSGqxLUv.woff2) format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'Source Serif Pro';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/sourceserifpro/v19/neIXzD-0qpwxpaWvjeD0X88SAOeasasatSiqxLUv.woff2) format('woff2');\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* greek */\n@font-face {\n font-family: 'Source Serif Pro';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/sourceserifpro/v19/neIXzD-0qpwxpaWvjeD0X88SAOeasasatS-qxLUv.woff2) format('woff2');\n unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;\n}\n/* vietnamese */\n@font-face {\n font-family: 'Source Serif Pro';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/sourceserifpro/v19/neIXzD-0qpwxpaWvjeD0X88SAOeasasatSOqxLUv.woff2) format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'Source Serif Pro';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/sourceserifpro/v19/neIXzD-0qpwxpaWvjeD0X88SAOeasasatSKqxLUv.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'Source Serif Pro';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/sourceserifpro/v19/neIXzD-0qpwxpaWvjeD0X88SAOeasasatSyqxA.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n#content-area:has(.bronto-hero) #header{display:none}.mdx-content:has(.bronto-hero){margin-top:0}.bronto-hero{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:center;padding:72px 0 8px;margin-bottom:48px;text-align:center}.bronto-grid{--cell: 255 214 10;position:absolute;z-index:-1;inset:-40px 0 auto;display:grid;grid-template-columns:repeat(auto-fill, 10px);grid-auto-rows:10px;gap:4px;justify-content:center;height:180px;overflow:hidden;pointer-events:none;-webkit-mask-image:linear-gradient(to bottom, #000 0%, rgb(0 0 0 / 0.6) 35%, transparent 100%),\n linear-gradient(to right, transparent, #000 15%, #000 85%, transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(to bottom, #000 0%, rgb(0 0 0 / 0.6) 35%, transparent 100%),\n linear-gradient(to right, transparent, #000 15%, #000 85%, transparent);mask-composite:intersect}.bronto-grid>span{border-radius:2px;background-color:rgb(var(--cell));opacity:0}.bronto-grid>span.on{animation:bronto-grid-twinkle var(--d, 5s) ease-in-out var(--delay, 0s) infinite}.bronto-grid>span.glow{box-shadow:0 0 8px rgb(var(--cell) / 0.7)}@keyframes bronto-grid-twinkle{0%,100%{opacity:calc(var(--o, 0.5) * 0.25)}50%{opacity:var(--o, 0.5)}}.bronto-hero-title{margin-top:20px;font-family:\"Source Serif Pro\", serif;font-size:clamp(36px, 5.5vw, 60px);font-weight:600;line-height:1.06;letter-spacing:-0.055em;color:#151513}.bronto-hero-subtitle{max-width:560px;margin:20px auto 0;font-size:17px;line-height:26px;color:rgb(var(--gray-600))}.bronto-pills{width:100%;max-width:560px;margin-top:28px;overflow:hidden;-webkit-mask-image:linear-gradient(to right, transparent, #000 18%, #000 82%, transparent);mask-image:linear-gradient(to right, transparent, #000 18%, #000 82%, transparent)}.bronto-pills-track{display:flex;gap:8px;width:max-content;animation:bronto-pills-drift 60s linear infinite}@keyframes bronto-pills-drift{from{transform:translateX(calc(-50% - 4px))}to{transform:translateX(0)}}.bronto-pill{display:inline-flex;flex-shrink:0;align-items:center;gap:5px;height:24px;padding:0 9px;border-radius:9999px;background-color:#F1EFE7;color:#151513;font-size:12px;line-height:1;white-space:nowrap}.bronto-pill svg{width:12px;height:12px}.bronto-hero-cards{width:100%;max-width:760px;margin-top:40px;text-align:left}html.dark .bronto-grid{--cell: 43 127 255}html.dark .bronto-hero-title{color:#EEF0F4}html.dark .bronto-hero-subtitle{color:#9097A5}html.dark .bronto-pill{background-color:#14161B;box-shadow:0 0 0 1px #22262D;color:#CDD1D9}@media (prefers-reduced-motion: reduce){.bronto-grid>span.on{animation:none;opacity:calc(var(--o, 0.5) * 0.6)}.bronto-pills{-webkit-mask-image:none;mask-image:none}.bronto-pills-track{flex-wrap:wrap;justify-content:center;width:auto;animation:none}.bronto-pill[aria-hidden=\"true\"]{display:none}}"},{"filePath":"styles/images.css","content":".mdx-content{--image-shadow:\n 0 0 0 1px hsl(40 20% 20% / 0.05),\n 0 2px 4px hsl(40 20% 20% / 0.05),\n 0 10px 28px -10px hsl(40 20% 20% / 0.18)}html.dark .mdx-content{--image-shadow:\n 0 0 0 1px #22262D,\n 0 10px 28px -10px rgb(0 0 0 / 0.7)}.mdx-content .frame{padding:0;border-radius:12px;background:transparent;box-shadow:var(--image-shadow)}.mdx-content .frame>div[class*=\"bg-grid\"],.mdx-content .frame>div.pointer-events-none{display:none}.mdx-content .zoom-image-trigger img:not(.frame *,.card *,table *,.bronto-hero *){border-radius:12px;box-shadow:var(--image-shadow)}"},{"filePath":"styles/layout.css","content":"@media (min-width: 1024px){#navbar .max-w-8xl,div:has(>#sidebar){max-width:none}html:not([data-page-mode=\"wide\"]) #content-area{max-width:960px}div:has(>#sidebar):not(:has(#table-of-contents))>#content-container{margin-left:max(0px, calc(50vw - 451px - var(--sidebar-width) - 8px))}.flex.items-center.h-16:has(.nav-logo){padding-left:16px;padding-right:16px}div:has(>.nav-tabs){padding-left:24px;padding-right:24px}div:has(>#sidebar){padding-left:8px;padding-right:24px}}@media (min-width: 1280px){html:not([data-page-mode=\"wide\"]) #content-container:has(#table-of-contents) #content-area{margin-left:clamp(\n -48px,\n calc(50vw - 524px - var(--sidebar-width) - 8px),\n calc(100vw - var(--sidebar-width) - 8px - 960px - 48px - 264px - 24px)\n )}}"},{"filePath":"styles/logo.css","content":"a:has(>.nav-logo){display:flex;align-items:center}a>.nav-logo{height:24px}a:has(>.nav-logo)::after{content:\"Docs\";padding-left:28px;margin-left:4px;font-size:19px;font-weight:500;line-height:28px;letter-spacing:-0.02em;color:#151513;background:linear-gradient(\n to bottom right,\n transparent calc(50% - 0.75px),\n var(--logo-slash, #D6D2C4) calc(50% - 0.75px),\n var(--logo-slash, #D6D2C4) calc(50% + 0.75px),\n transparent calc(50% + 0.75px)\n )\n left 10px top 7px / 7.5px 14px no-repeat}html.dark a:has(>.nav-logo)::after{--logo-slash: rgb(255 255 255 / 0.2);color:rgb(var(--gray-200))}"},{"filePath":"styles/page-actions.css","content":"#page-context-menu{min-width:0;width:fit-content;height:28px;border-radius:8px;background-color:#ffffff;box-shadow:0 0 0 1px hsl(40 20% 20% / 0.06),\n 0 1px 2px hsl(40 20% 20% / 0.05),\n 0 2px 6px -1px hsl(40 20% 20% / 0.06);transition:box-shadow 150ms ease-out}#page-context-menu:hover{box-shadow:0 0 0 1px hsl(40 20% 20% / 0.08),\n 0 2px 4px hsl(40 20% 20% / 0.06),\n 0 4px 10px -2px hsl(40 20% 20% / 0.1)}#page-context-menu>button{height:28px;border:0;border-radius:0;background-color:transparent;transition:background-color 150ms ease-out}#page-context-menu>button:first-child{padding:0 10px;border-radius:8px 0 0 8px}#page-context-menu>button:first-child>div{gap:6px;font-size:13px}#page-context-menu>button:first-child svg{width:14px;height:14px}#page-context-menu>button:last-child{width:28px;padding:0;border-radius:0 8px 8px 0;border-left:1px solid hsl(40 20% 20% / 0.08)}#page-context-menu>button:hover{background-color:#F1EFE7}html.dark #page-context-menu{background-color:#14161B;box-shadow:0 0 0 1px #22262D}html.dark #page-context-menu:hover{box-shadow:0 0 0 1px #2E333C, 0 6px 16px -6px rgb(0 0 0 / 0.6)}html.dark #page-context-menu>button:last-child{border-left-color:#22262D}html.dark #page-context-menu>button:hover{background-color:rgb(255 255 255 / 0.05)}"},{"filePath":"styles/pagination.css","content":"#pagination{gap:12px;margin-inline:-20px;padding:0}#pagination>a{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:8px;row-gap:6px;width:calc(50% - 6px);padding:18px 20px;border-radius:12px;transition:background-color 150ms ease-out}#pagination>a[data-component-part=\"pagination-next\"]{grid-template-columns:1fr auto;margin-left:auto;text-align:right}@media (max-width: 640px){#pagination{flex-direction:column;align-items:stretch;gap:4px}#pagination>a,#pagination>a[data-component-part=\"pagination-next\"]{width:auto;margin-left:0}}#pagination>a:hover{background-color:#F1EFE7}html.dark #pagination>a:hover{background-color:#14161B}#pagination [data-component-part=\"pagination-title\"]{grid-row:1;grid-column:1 / -1;font-size:17px;font-weight:500;line-height:24px;color:#151513}html.dark #pagination [data-component-part=\"pagination-title\"]{color:#EEF0F4}#pagination [data-component-part=\"pagination-chevron\"]{grid-row:2;height:9px;width:auto;stroke:rgb(var(--gray-500))}#pagination>a[data-component-part=\"pagination-prev\"] [data-component-part=\"pagination-chevron\"]{grid-column:1}#pagination>a[data-component-part=\"pagination-next\"] [data-component-part=\"pagination-chevron\"]{grid-column:2}#pagination>a::after{grid-row:2;font-family:ui-monospace, \"SF Mono\", Menlo, monospace;font-size:11px;font-weight:400;letter-spacing:0.1em;line-height:16px;text-transform:uppercase;color:rgb(var(--gray-500))}#pagination>a[data-component-part=\"pagination-prev\"]::after{content:\"Previous\";grid-column:2}#pagination>a[data-component-part=\"pagination-next\"]::after{content:\"Next\";grid-column:1}#pagination>a:hover::after,#pagination>a:hover [data-component-part=\"pagination-chevron\"]{color:rgb(var(--gray-700));stroke:rgb(var(--gray-700))}html.dark #pagination>a:hover::after,html.dark #pagination>a:hover [data-component-part=\"pagination-chevron\"]{color:rgb(var(--gray-300));stroke:rgb(var(--gray-300))}"},{"filePath":"styles/sidebar.css","content":"html:not(.dark) #sidebar .sidebar-group-header{color:#747471}:root{--sidebar-width: 17rem}#sidebar .sidebar-group-header{font-weight:500}html:not(.dark) #sidebar a:not([aria-current]),html:not(.dark) #sidebar button{color:#151513}html:not(.dark) #sidebar .sidebar-group a:not([aria-current]):hover,html:not(.dark) #sidebar .sidebar-group button:hover,html:not(.dark) #sidebar a.nav-anchor:hover{background-color:#F1EFE7}html:not(.dark) #sidebar a[aria-current]{background-color:#E2DECC;color:#151513}html:not(.dark) #sidebar a[aria-current] svg{background-color:#151513}#sidebar a svg[style*=\"mask\"],#sidebar a:hover svg[style*=\"mask\"],#sidebar button svg[style*=\"mask\"]{width:14px;height:14px;background-color:currentColor}#sidebar .sidebar-group a,#sidebar .sidebar-group button{padding-top:3px;padding-bottom:3px}#sidebar div:has(>.sidebar-group-header){margin-top:20px}#sidebar .sidebar-group-header{margin-bottom:4px}#navigation-items{display:flex;flex-direction:column}div:has(>#navigation-items)>div.sticky:first-child{height:20px;margin-bottom:-20px}#navigation-items>ul:has(a.nav-anchor){order:1;margin-top:20px}#sidebar a.nav-anchor{margin:0 0 1px;padding:3px 12px 3px 16px;gap:12px;border-radius:12px;font-weight:400;line-height:24px}#sidebar a.nav-anchor>div:first-child{color:inherit;margin:0;padding:0;border-radius:0;background:none!important;box-shadow:none;filter:none}"},{"filePath":"styles/steps.css","content":".steps{--step-line: rgb(21 21 19 / 0.1);--step-badge-border: rgb(21 21 19 / 0.14);--step-badge-bg: #ffffff;margin-left:12px}html.dark .steps{--step-line: #22262D;--step-badge-border: #2E333C;--step-badge-bg: #14161B}.steps>.step{padding-bottom:24px}.steps [data-component-part=\"step-number\"]{margin-left:-12px;padding:0}.steps [data-component-part=\"step-indicator\"]{display:grid;place-items:center;width:24px;height:24px;border:1px solid var(--step-badge-border);background-color:var(--step-badge-bg);font-family:ui-monospace, \"SF Mono\", Menlo, monospace;font-size:11.5px;font-weight:500;color:#151513}html.dark .steps [data-component-part=\"step-indicator\"]{color:#EEF0F4}.steps [data-component-part=\"step-line\"]{top:28px;height:calc(100% - 32px);background-color:var(--step-line)}.steps>.step:last-child [data-component-part=\"step-line\"]{display:none}.steps>.step>div:last-child{padding-left:28px}.steps [data-component-part=\"step-title\"]{margin:0;font-size:15px;line-height:24px;color:#151513}html.dark .steps [data-component-part=\"step-title\"]{color:#EEF0F4}.steps [data-component-part=\"step-content\"]{margin-top:4px}.steps [data-component-part=\"step-content\"]>:first-child{margin-top:0}.steps [data-component-part=\"step-content\"]>:last-child{margin-bottom:0}"},{"filePath":"styles/tables.css","content":".mdx-content table{--table-line: rgb(21 21 19 / 0.08);--table-head: #F1EFE7;--table-body: #ffffff;border-collapse:separate;border-spacing:0;border:1px solid var(--table-line);border-radius:10px;overflow:hidden;background-color:var(--table-body)}html.dark .mdx-content table{--table-line: #22262D;--table-head: #14161B;--table-body: transparent}.mdx-content table :is(th,td){padding:11px 16px;vertical-align:top;border-bottom:1px solid var(--table-line);border-right:1px solid var(--table-line)}.mdx-content table :is(th,td):last-child{border-right:0}.mdx-content table tbody tr:last-child td{border-bottom:0}.mdx-content table th{vertical-align:middle;background-color:var(--table-head);font-family:ui-monospace, \"SF Mono\", Menlo, monospace;font-size:12.5px;font-weight:400;line-height:18px;color:rgb(var(--gray-600))}html.dark .mdx-content table th{color:#9097A5}.mdx-content table td{font-size:14px;line-height:21px}.mdx-content table td:first-child{font-weight:600;color:#151513}html.dark .mdx-content table td:first-child{color:#EEF0F4}.mdx-content table td code{white-space:nowrap;word-break:normal;overflow-wrap:normal}"},{"filePath":"styles/tabs.css","content":"[data-component-part=\"tabs-list\"]{display:inline-flex;gap:2px;width:fit-content;min-width:0;max-width:100%;margin-bottom:16px;padding:3px;border:0;border-radius:10px;background-color:#F1EFE7}[data-component-part=\"tab-button\"]{margin:0;padding:4px 12px;border:0;border-radius:7px;font-size:13px;font-weight:500;line-height:20px;color:rgb(var(--gray-600));transition:color 150ms ease-out, background-color 150ms ease-out, box-shadow 150ms ease-out}[data-component-part=\"tab-button\"]:hover{color:#151513}[data-component-part=\"tab-button\"][data-active=\"true\"]{color:#151513;background-color:#ffffff;box-shadow:0 0 0 1px hsl(40 20% 20% / 0.06),\n 0 1px 2px hsl(40 20% 20% / 0.08),\n 0 2px 6px -1px hsl(40 20% 20% / 0.08)}html.dark [data-component-part=\"tabs-list\"]{background-color:#14161B;box-shadow:0 0 0 1px #22262D}html.dark [data-component-part=\"tab-button\"]{color:#9097A5}html.dark [data-component-part=\"tab-button\"]:hover,html.dark [data-component-part=\"tab-button\"][data-active=\"true\"]{color:#EEF0F4}html.dark [data-component-part=\"tab-button\"][data-active=\"true\"]{background-color:#242732;box-shadow:0 0 0 1px #2E333C}[role=\"tablist\"][aria-label=\"Code examples\"] [role=\"tab\"][aria-selected=\"true\"],[role=\"tablist\"][aria-label=\"Code examples\"] [role=\"tab\"][aria-selected=\"true\"]>div{color:#ffffff}[role=\"tablist\"][aria-label=\"Code examples\"] [role=\"tab\"][aria-selected=\"true\"]>div:last-child:not(:first-child){background-color:rgb(255 255 255 / 0.7)}"},{"filePath":"styles/tags.css","content":".eyebrow,.bronto-tag{display:inline-flex;align-items:center;gap:8px;width:fit-content;height:auto;padding:6px 12px;border-radius:9999px;border:1px solid rgb(255 214 10 / 80%);background:rgb(255 214 10 / 35%);color:#7A5200;font-family:\"Radio Canada Big\", sans-serif;font-size:13px;font-weight:600;line-height:1;letter-spacing:0;box-shadow:0 1px 3px rgba(153, 117, 63, 0.2)}.eyebrow::before,.bronto-tag::before{content:\"\";width:6px;height:6px;flex-shrink:0;border-radius:50%;background:#FFD60A}html.dark .eyebrow,html.dark .bronto-tag{border-color:rgb(43 127 255 / 50%);background:rgb(43 127 255 / 15%);color:#93C5FD;box-shadow:none}html.dark .eyebrow::before,html.dark .bronto-tag::before{background:#2B7FFF}"},{"filePath":"styles/text-colors.css","content":"html:not(.dark){--gray-950: 21 21 19;--gray-900: 21 21 19;--gray-800: 39 39 37;--gray-700: 57 57 55;--gray-600: 85 84 82;--gray-500: 116 116 113;--gray-400: 153 152 149}html:not(.dark) .prose{--tw-prose-headings: #151513;--tw-prose-bold: #151513;--tw-prose-links: #151513;--tw-prose-code: #151513;--tw-prose-quotes: #151513;--tw-prose-body: #393937;--tw-prose-counters: #747471;--tw-prose-bullets: #999895}"},{"filePath":"styles/toc.css","content":"#table-of-contents h2 button svg{display:none}#table-of-contents h2 button{font-size:13px;font-weight:500;color:rgb(var(--gray-500))}#table-of-contents-content{margin-top:4px;border-left:1px solid rgb(var(--gray-950) / 0.08)}#table-of-contents-content li.toc-item>a{position:relative;padding-top:4px;padding-bottom:4px;padding-left:calc(14px + var(--toc-padding-left, 0rem));font-size:13px;line-height:20px;font-weight:400;color:rgb(var(--gray-500));transition:color 150ms ease-out}#table-of-contents-content li.toc-item>a:hover{color:rgb(var(--gray-900))}#table-of-contents-content li.toc-item>a[aria-current]{color:#151513}#table-of-contents-content li.toc-item>a::before{content:\"\";position:absolute;top:calc(50% - 7px);left:-1.5px;width:2px;height:14px;border-radius:1px;background-color:#151513;transform:scaleY(0);transition:transform 200ms ease-out}#table-of-contents-content li.toc-item>a[aria-current]::before{transform:scaleY(1)}html.dark #table-of-contents-content{border-left-color:rgb(255 255 255 / 0.08)}html.dark #table-of-contents-content li.toc-item>a{color:rgb(var(--gray-400))}html.dark #table-of-contents-content li.toc-item>a:hover,html.dark #table-of-contents-content li.toc-item>a[aria-current]{color:#ffffff}html.dark #table-of-contents-content li.toc-item>a::before{background-color:#ffffff}"},{"filePath":"styles/typography.css","content":".mdx-content :is(p,[data-as=\"p\"],li,blockquote,dd,dt):not([data-component-part=\"callout-content\"] *,table *,.card *,.bronto-hero *){font-size:15px;line-height:26px}#header .prose p{font-size:17px;line-height:26px}[data-component-part=\"card-content\"]{font-size:13px;line-height:19px}"}],"page":{"pagePath":"core-features/custom-parser","slug":"/core-features/custom-parser","pageMetadata":{"title":"Custom Parser","description":"Generate custom log parsers automatically with LLMs to extract structured fields from Apache, IIS, HAProxy, Syslog, and custom log formats in Bronto.","og:title":"Custom Parser – Bronto Log Intelligence","og:description":"Automatically create custom log parsers powered by LLMs. Transform unstructured log data into structured, queryable events with real-time testing and multi-format support.","keywords":["log parser","custom parser","LLM log parsing","structured logs","AWS Bedrock","Apache logs","Syslog","HAProxy","IIS logs","log analytics","Bronto"],"icon":"braces","href":"/core-features/custom-parser"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Generate custom log parsers automatically with LLMs to extract structured fields from Apache, IIS, HAProxy, Syslog, and custom log formats in Bronto.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,li:`li`,ol:`ol`,p:`p`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Heading,Warning}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`overview`,children:`Overview`}),`\n`,_jsx(_components.p,{children:`Bronto’s Custom Parser feature, powered by LLMs, enables you to automatically create custom log parsers for your specific data formats and requirements. Build, configure, and manage parsers that extract structured data from raw logs, transforming unstructured text into queryable, analyzable log events. Whether you’re working with application logs, system logs, or custom formats, our custom parsing tool provides the flexibility to handle a diverse range of log data.`}),`\n`,_jsx(Heading,{level:`2`,id:`key-features`,children:`Key Features`}),`\n`,_jsx(Heading,{level:`3`,id:`parser-creation-and-configuration`,children:`Parser Creation and Configuration`}),`\n`,_jsx(_components.p,{children:`Create custom parsers with intuitive naming and description fields to help your team understand each parser’s purpose and functionality. Define exactly what data you want to extract and how it should be structured.`}),`\n`,_jsx(Heading,{level:`3`,id:`real-time-log-processing`,children:`Real-Time Log Processing`}),`\n`,_jsx(_components.p,{children:`View raw log samples and see immediate parsing results as you configure your parser. Test your parsing logic against actual data before deploying to ensure accuracy and completeness.`}),`\n`,_jsx(Heading,{level:`3`,id:`structured-data-extraction`,children:`Structured Data Extraction`}),`\n`,_jsx(_components.p,{children:`Transform unstructured log data into structured, columnar formats with configurably defined fields.`}),`\n`,_jsx(Heading,{level:`3`,id:`multi-format-support-out-of-the-box`,children:`Multi-Format Support Out of the Box`}),`\n`,_jsx(_components.p,{children:`Built-in parsers for common log formats including:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Apache HTTP Server logs`}),` – Extract client IPs, authentication details, timestamps, HTTP request elements, response codes, and transfer sizes.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Key-Value Pair logs`}),` – Parse structured messages with field names, values, delimiters, and attribute groupings.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Microsoft IIS logs`}),` – Process IIS server logs with timestamps, client/server IPs, request details, and processing times.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`HAProxy logs`}),` – Capture extended HAProxy data including client info, request/response details, timing metrics, and cookies.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Linux Syslog`}),` – Extract timestamps, hostnames, process names, PIDs, users, and log messages.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`dataset-management`,children:`Dataset Management`}),`\n`,_jsx(_components.p,{children:`Organize your parsing rules with dataset management:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Browse raw datasets and parsed results`}),`\n`,_jsx(_components.li,{children:`Search and filter by dataset names`}),`\n`,_jsx(_components.li,{children:`View data volumes and processing statistics`}),`\n`,_jsx(_components.li,{children:`Track parser assignments and usage`}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`performance-monitoring`,children:`Performance Monitoring`}),`\n`,_jsx(_components.p,{children:`Monitor parser performance with detailed metrics:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Parse success rates`}),`\n`,_jsx(_components.li,{children:`Processing volume over time`}),`\n`,_jsx(_components.li,{children:`Parser efficiency analytics`}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`See our `,_jsx(_components.a,{href:`https://docs.bronto.io/api-reference/parsers/get-the-parsers-usage-metrics-over-a-period-of-time-for-a-log-id-1`,children:`Parser Metrics API endpoint`}),` for details.`]}),`\n`,_jsx(Heading,{level:`2`,id:`technical-details`,children:`Technical Details`}),`\n`,_jsxs(_components.p,{children:[`Bronto uses `,_jsx(_components.strong,{children:`AWS Bedrock`}),` as a managed service to access LLMs such as Claude. The infrastructure automatically selects the most appropriate model for each task and sends a structured prompt — for example, the AI log parser builds a prompt that instructs the model which patterns to avoid and how to handle keys such as timestamps. Model selection and prompt construction are handled automatically, so users can get started immediately without configuration.`]}),`\n`,_jsx(_components.p,{children:`AWS Bedrock also provides the following security and compliance benefits relevant to a SaaS environment:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Content safety`}),` – Built-in safeguards to detect and filter harmful content`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Data privacy`}),` – It never stores or uses our data to train models`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Network isolation`}),` – All data remains within the AWS network`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Native integration`}),` – Works seamlessly with Lambda, S3, and other AWS services, allowing AI capabilities to be incorporated without rearchitecting existing systems`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`getting-started`,children:`Getting Started`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Navigate to the `,_jsx(_components.strong,{children:`Parsing`}),` section from the main Bronto navigation menu.`]}),`\n`,_jsxs(_components.li,{children:[`Select `,_jsx(_components.strong,{children:`“Dataset List”`}),` to view available parsers or create new ones.`]}),`\n`,_jsx(_components.li,{children:`Choose a dataset from your data sources.`}),`\n`,_jsx(_components.li,{children:`Configure your parser with appropriate field mappings.`}),`\n`,_jsxs(_components.li,{children:[`Test with sample data to verify parsing accuracy. Ensure the dataset includes a minimum of `,_jsx(_components.strong,{children:`100 events from the last 24 hours`}),`.`]}),`\n`,_jsx(_components.li,{children:`Deploy and monitor your parser’s performance.`}),`\n`]}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`If you configure a custom parser, any dashboards, saved searches, or monitors\nthat rely on specific key names in the log may stop working if those keys are\nrenamed.`})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"codeStyling":"dark","config":{},"pageMetadata":{"title":"Custom Parser","description":"Generate custom log parsers automatically with LLMs to extract structured fields from Apache, IIS, HAProxy, Syslog, and custom log formats in Bronto.","og:title":"Custom Parser – Bronto Log Intelligence","og:description":"Automatically create custom log parsers powered by LLMs. Transform unstructured log data into structured, queryable events with real-time testing and multi-format support.","keywords":["log parser","custom parser","LLM log parsing","structured logs","AWS Bedrock","Apache logs","Syslog","HAProxy","IIS logs","log analytics","Bronto"],"icon":"braces","href":"/core-features/custom-parser"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Overview","slug":"overview","depth":2,"children":[]},{"title":"Key Features","slug":"key-features","depth":2,"children":[{"title":"Parser Creation and Configuration","slug":"parser-creation-and-configuration","depth":3,"children":[]},{"title":"Real-Time Log Processing","slug":"real-time-log-processing","depth":3,"children":[]},{"title":"Structured Data Extraction","slug":"structured-data-extraction","depth":3,"children":[]},{"title":"Multi-Format Support Out of the Box","slug":"multi-format-support-out-of-the-box","depth":3,"children":[]},{"title":"Dataset Management","slug":"dataset-management","depth":3,"children":[]},{"title":"Performance Monitoring","slug":"performance-monitoring","depth":3,"children":[]}]},{"title":"Technical Details","slug":"technical-details","depth":2,"children":[]},{"title":"Getting Started","slug":"getting-started","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/bronto/c0c85aeb1654c085/scripts/do11y-config.js","/_mintlify/custom/bronto/a02c6c6af4e0cbe9/scripts/do11y.min.js","/_mintlify/custom/bronto/b9fe7d1728ae15af/scripts/theme-toggle.js"],"subdomain":"bronto","siteName":"Bronto Docs","title":"Custom Parser – Bronto Log Intelligence","contextualStarterQuestions":[{"_id":"6a7f425c68d2f647141c69e0","deploymentId":"67ab42c567c9a403dcded195","questionText":"What log formats are supported?","status":"active","generatedBy":"contextual","path":"core-features/custom-parser","createdAt":"2026-08-14T16:29:16.823Z","updatedAt":"2026-08-14T16:29:16.823Z","__v":0},{"_id":"6a7f425c68d2f647141c69e1","deploymentId":"67ab42c567c9a403dcded195","questionText":"Can I test parsers before deploying?","status":"active","generatedBy":"contextual","path":"core-features/custom-parser","createdAt":"2026-08-14T16:29:16.823Z","updatedAt":"2026-08-14T16:29:16.823Z","__v":0},{"_id":"6a7f425c68d2f647141c69df","deploymentId":"67ab42c567c9a403dcded195","questionText":"How do I create a custom parser?","status":"active","generatedBy":"contextual","path":"core-features/custom-parser","createdAt":"2026-08-14T16:29:16.822Z","updatedAt":"2026-08-14T16:29:16.822Z","__v":0}],"navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-08-14T16:29:01.988Z","originalFileLocation":"core-features/custom-parser.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"dark\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Generate custom log parsers automatically with LLMs to extract structured fields from Apache, IIS, HAProxy, Syslog, and custom log formats in Bronto.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Bronto Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/bronto/VQz551XAfr4fCCWx/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/bronto/VQz551XAfr4fCCWx/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/bronto/VQz551XAfr4fCCWx/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/bronto/VQz551XAfr4fCCWx/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/bronto/VQz551XAfr4fCCWx/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/bronto/VQz551XAfr4fCCWx/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/bronto/VQz551XAfr4fCCWx/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/bronto/VQz551XAfr4fCCWx/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/bronto/VQz551XAfr4fCCWx/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Custom Parser – Bronto Log Intelligence\">\u003cmeta data-mint-head property=\"og:description\" content=\"Automatically create custom log parsers powered by LLMs. Transform unstructured log data into structured, queryable events with real-time testing and multi-format support.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Bronto Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.bronto.io/core-features/custom-parser\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://bronto.mintlify.site/_mintlify/api/og/v2?division=LLM-Powered+Parsing\u0026amp;title=Custom+Parser\u0026amp;description=Generate+custom+log+parsers+automatically+with+LLMs+to+extract+structured+fields+from+Apache%2C+IIS%2C+HAProxy%2C+Syslog%2C+and+custom+log+formats+in+Bronto.\u0026amp;theme=8ada87af3b4d696278fc6f31\u0026amp;signature=7d1ba715f6dabf77f29ff94872b14e9a5a3035105318daf94ef07d87895f00eb\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Custom Parser – Bronto Log Intelligence\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Automatically create custom log parsers powered by LLMs. Transform unstructured log data into structured, queryable events with real-time testing and multi-format support.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://bronto.mintlify.site/_mintlify/api/og/v2?division=LLM-Powered+Parsing\u0026amp;title=Custom+Parser\u0026amp;description=Generate+custom+log+parsers+automatically+with+LLMs+to+extract+structured+fields+from+Apache%2C+IIS%2C+HAProxy%2C+Syslog%2C+and+custom+log+formats+in+Bronto.\u0026amp;theme=8ada87af3b4d696278fc6f31\u0026amp;signature=7d1ba715f6dabf77f29ff94872b14e9a5a3035105318daf94ef07d87895f00eb\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/bronto/VQz551XAfr4fCCWx/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Bronto Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#F4C430\">\u003cmeta data-mint-head name=\"applicationName\" content=\"Bronto Docs\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.bronto.io/core-features/custom-parser\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/core-features/custom-parser.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.bronto.io/#organization\",\"name\":\"Bronto Docs\",\"url\":\"https://docs.bronto.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/bronto/XgZO_N2_fZQn0lij/logo/bronto_mark.png?fit=max\u0026auto=format\u0026n=XgZO_N2_fZQn0lij\u0026q=85\u0026s=9d3e675d8cd714b8dbd1f1753438f856\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.bronto.io#website\",\"name\":\"Bronto Docs\",\"url\":\"https://docs.bronto.io\",\"publisher\":{\"@id\":\"https://docs.bronto.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.bronto.io/core-features/custom-parser#webpage\",\"url\":\"https://docs.bronto.io/core-features/custom-parser\",\"name\":\"Custom Parser\",\"description\":\"Generate custom log parsers automatically with LLMs to extract structured fields from Apache, IIS, HAProxy, Syslog, and custom log formats in Bronto.\",\"dateModified\":\"2026-08-14T16:29:01.988Z\",\"isPartOf\":{\"@id\":\"https://docs.bronto.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.bronto.io/core-features/custom-parser#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.bronto.io/core-features/custom-parser#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Bronto Docs\",\"item\":\"https://docs.bronto.io\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Custom Parser\",\"item\":\"https://docs.bronto.io/core-features/custom-parser\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.bronto.io/core-features/custom-parser#article\",\"headline\":\"Custom Parser\",\"name\":\"Custom Parser\",\"description\":\"Generate custom log parsers automatically with LLMs to extract structured fields from Apache, IIS, HAProxy, Syslog, and custom log formats in Bronto.\",\"url\":\"https://docs.bronto.io/core-features/custom-parser\",\"mainEntityOfPage\":{\"@id\":\"https://docs.bronto.io/core-features/custom-parser#webpage\"},\"dateModified\":\"2026-08-14T16:29:01.988Z\",\"keywords\":\"log parser, custom parser, LLM log parsing, structured logs, AWS Bedrock, Apache logs, Syslog, HAProxy, IIS logs, log analytics, Bronto\",\"publisher\":{\"@id\":\"https://docs.bronto.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.bronto.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Bronto Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Bronto Docs","nav":{"global":{"anchors":[{"anchor":"Trust","icon":"shield","href":"https://trust.bronto.io/"},{"anchor":"Book a Demo","icon":"calendar","href":"https://www.bronto.io/book-a-demo"},{"anchor":"Status","icon":"signal","href":"https://status.bronto.io"}]},"tabs":[{"tab":"Getting Started and UI","pages":[{"title":"Getting Started and UI","href":"/welcome"}]},{"tab":"Ingest Data","pages":[{"title":"Ingest Data","href":"/ingest-data/overview"}]},{"tab":"AI Assisted Observability","groups":[{"group":"Getting Started","pages":[{"title":"AI Overview","icon":"sparkles","href":"/ai-features/ai-welcome"},{"title":"Bronto Agent Skills","icon":"wand-sparkles","href":"/ai-features/bronto-agent-skills"}]},{"group":"MCP","pages":[{"title":"Hosted MCP Server","icon":"https://mintlify.s3.us-west-1.amazonaws.com/bronto/images/icons/mcp.svg","href":"/ai-features/hosted-mcp"},{"title":"Local MCP Server","icon":"https://mintlify.s3.us-west-1.amazonaws.com/bronto/images/icons/mcp.svg","href":"/ai-features/local-mcp"}]},{"group":"AI Investigations","pages":[{"title":"BrontoScope","icon":"scan-search","href":"/ai-features/brontoscope"},{"title":"AI Investigation Reports","icon":"file-search","href":"/ai-features/ai-investigation-reports"}]},{"group":"LLM Observability","pages":[{"title":"LLM Observability","sidebarTitle":"Overview","icon":"brain-circuit","href":"/ai-features/llm-observability"},{"title":"Amazon Bedrock LLM observability with OpenTelemetry","sidebarTitle":"AWS Bedrock","icon":"https://mintlify.s3.us-west-1.amazonaws.com/bronto/images/icons/aws-bedrock.svg","href":"/ai-features/aws-bedrock"},{"title":"Amazon Bedrock AgentCore observability with OpenTelemetry","sidebarTitle":"AWS AgentCore","icon":"https://mintlify.s3.us-west-1.amazonaws.com/bronto/images/icons/aws-agentcore.svg","href":"/ai-features/aws-agentcore"},{"title":"Microsoft Foundry observability with OpenTelemetry","sidebarTitle":"Microsoft Foundry","icon":"https://mintlify.s3.us-west-1.amazonaws.com/bronto/images/icons/azure-ai-foundry.svg","href":"/ai-features/microsoft-foundry"},{"title":"Claude Platform observability with OpenTelemetry","sidebarTitle":"Claude Platform","icon":"https://mintlify.s3.us-west-1.amazonaws.com/bronto/images/icons/claude.svg","href":"/ai-features/claude-platform"},{"title":"Send Vercel AI SDK traces to Bronto with OpenTelemetry","sidebarTitle":"Vercel AI SDK","icon":"https://mintlify.s3.us-west-1.amazonaws.com/bronto/images/icons/vercel.svg","href":"/integrations/vercel-ai-sdk"},{"title":"Send OpenLLMetry traces to Bronto","sidebarTitle":"OpenLLMetry","icon":"telescope","href":"/integrations/openllmetry"},{"title":"Send LangChain traces to Bronto via OpenTelemetry","sidebarTitle":"LangChain","icon":"https://mintlify.s3.us-west-1.amazonaws.com/bronto/images/icons/langchain.svg","href":"/integrations/langchain"},{"title":"Send Pydantic AI traces to Bronto via OpenTelemetry","sidebarTitle":"Pydantic AI","description":"Send Pydantic AI agent runs, model calls, tool calls, token usage and cost to Bronto with OpenTelemetry, with or without the Logfire SDK.","icon":"https://mintlify.s3.us-west-1.amazonaws.com/bronto/images/icons/pydantic.svg","href":"/integrations/pydantic-ai"}]},{"group":"LLM-Powered Parsing","pages":[{"title":"Custom Parser","icon":"braces","href":"/core-features/custom-parser"}]},{"group":"AI Integrations","pages":[{"title":"AWS DevOps Agent Integration","sidebarTitle":"AWS DevOps Agent","description":"Trigger AWS DevOps Agent investigations from Bronto monitor alerts and connect Bronto's hosted MCP server for searchable log context.","icon":"https://mintlify.s3.us-west-1.amazonaws.com/bronto/images/icons/aws-devops-agent.svg","href":"/ai-features/aws-devops-agent"},{"title":"n8n Integration","sidebarTitle":"n8n","icon":"https://mintlify.s3.us-west-1.amazonaws.com/bronto/images/icons/n8n.svg","href":"/ai-features/n8n"},{"title":"OpenClaw Integration","sidebarTitle":"OpenClaw","icon":"hand-grab","href":"/ai-features/openclaw"},{"title":"Vibe Building with Bronto","sidebarTitle":"Vibe Building","icon":"blocks","href":"/ai-features/vibe-building"}]}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/api-reference/introduction"}]},{"tab":"CLI","pages":[{"title":"CLI","href":"/cli"}]}]},"basePath":"","title":"Custom Parser – Bronto Log Intelligence","buildId":"dpl_BLQvU86QFwq3AhPofSTw6q8dGWKm","deploymentId":"dpl_BLQvU86QFwq3AhPofSTw6q8dGWKm","dynamics":[],"chunks":[]}