-
Notifications
You must be signed in to change notification settings - Fork 47
/
Copy pathall_batching.js
95 lines (84 loc) · 2.45 KB
/
all_batching.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
/*
* Copyright 2015 Splunk, Inc.
*
* Licensed 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.
*/
/**
* This example shows how to batch events with the
* SplunkLogger with all available settings:
* batchInterval, maxBatchCount, & maxBatchSize.
*/
// Change to require("splunk-logging").Logger;
var SplunkLogger = require("../index").Logger;
/**
* Only the token property is required.
*
* Here, batchInterval is set to flush every 1 second, when
* 10 events are queued, or when the size of queued events totals
* more than 1kb.
*/
var config = {
token: "your-token-here",
url: "https://localhost:8088",
batchInterval: 1000,
maxBatchCount: 10,
maxBatchSize: 1024 // 1kb
};
// Create a new logger
var Logger = new SplunkLogger(config);
Logger.error = function(err, context) {
// Handle errors here
console.log("error", err, "context", context);
};
// Define the payload to send to Splunk's Event Collector
var payload = {
// Message can be anything, doesn't have to be an object
message: {
temperature: "70F",
chickenCount: 500
},
// Metadata is optional
metadata: {
source: "chicken coop",
sourcetype: "httpevent",
index: "main",
host: "farm.local",
},
// Severity is also optional
severity: "info"
};
console.log("Queuing payload", payload);
// Don't need a callback here
Logger.send(payload);
var payload2 = {
message: {
temperature: "75F",
chickenCount: 600,
note: "New chickens have arrived"
},
metadata: payload.metadata
};
console.log("Queuing second payload", payload2);
// Don't need a callback here
Logger.send(payload2);
/**
* Since we've configured batching, we don't need
* to do anything at this point. Events will
* will be sent to Splunk automatically based
* on the batching settings above.
*/
// Kill the process
setTimeout(function() {
console.log("Events should be in Splunk! Exiting...");
process.exit();
}, 2000);