mirror of
https://github.com/honeymoose/OpenSearch.git
synced 2025-02-08 14:05:27 +00:00
a370d5eead
When Joni, the regex engine that powers grok emits a warning it does so by default to System.err. System.err logs are all bucketed together in the server log at WARN level. When Joni emits a warning, it can be extremely verbose, logging a message for each execution again that pattern. For ingest node that means for every document that is run that through Grok. Fortunately, Joni provides a call back hook to push these warnings to a custom location. This commit implements Joni's callback hook to push the Joni warning to the Elasticsearch server logger (logger.org.elasticsearch.ingest.common.GrokProcessor) at debug level. Generally these warning indicate a possible issue with the regular expression and upon creation of the Grok processor will do a "test run" of the expression and log the result (if any) at WARN level. This WARN level log should only occur on pipeline creation which is a much lower frequency then every document. Additionally, the documentation is updated with instructions for how to set the logger to debug level.
56 lines
2.0 KiB
Groovy
56 lines
2.0 KiB
Groovy
/*
|
|
* Licensed to Elasticsearch under one or more contributor
|
|
* license agreements. See the NOTICE file distributed with
|
|
* this work for additional information regarding copyright
|
|
* ownership. Elasticsearch licenses this file to you under
|
|
* the Apache License, Version 2.0 (the "License"); you may
|
|
* not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing,
|
|
* software distributed under the License is distributed on an
|
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
* KIND, either express or implied. See the License for the
|
|
* specific language governing permissions and limitations
|
|
* under the License.
|
|
*/
|
|
|
|
esplugin {
|
|
description 'Module for ingest processors that do not require additional security permissions or have large dependencies and resources'
|
|
classname 'org.elasticsearch.ingest.common.IngestCommonPlugin'
|
|
extendedPlugins = ['lang-painless']
|
|
}
|
|
|
|
dependencies {
|
|
compileOnly project(':modules:lang-painless')
|
|
compile project(':libs:elasticsearch-grok')
|
|
compile project(':libs:elasticsearch-dissect')
|
|
}
|
|
|
|
restResources {
|
|
restApi {
|
|
includeCore '_common', 'ingest', 'cluster', 'indices', 'index', 'bulk', 'nodes', 'get', 'update', 'cat', 'mget'
|
|
}
|
|
}
|
|
|
|
testClusters.integTest {
|
|
// Needed in order to test ingest pipeline templating:
|
|
// (this is because the integTest node is not using default distribution, but only the minimal number of required modules)
|
|
module project(':modules:lang-mustache').tasks.bundlePlugin.archiveFile
|
|
}
|
|
|
|
thirdPartyAudit.ignoreMissingClasses(
|
|
// from log4j
|
|
'org.osgi.framework.AdaptPermission',
|
|
'org.osgi.framework.AdminPermission',
|
|
'org.osgi.framework.Bundle',
|
|
'org.osgi.framework.BundleActivator',
|
|
'org.osgi.framework.BundleContext',
|
|
'org.osgi.framework.BundleEvent',
|
|
'org.osgi.framework.SynchronousBundleListener',
|
|
'org.osgi.framework.wiring.BundleWire',
|
|
'org.osgi.framework.wiring.BundleWiring'
|
|
)
|