Skip to content

Conversation

algernon
Copy link
Contributor

No description provided.

bazsi and others added 7 commits August 17, 2014 13:24
In a number of cases this syntax:

template foo {
    template("template text");
};

Has a lot of boilerplate. In case template-escape() option is not needed
(which is less-and-less needed and could probably be deprecated),
this syntax is just enough:

template foo "template text";

This plays nicely with the new feature that template functions can be defined in
configuration files with a similar syntax.

Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>
Traditionally Plugin instances are allocated as global variables, which
didn't need free operation. This patch allows allocating Plugin instances
dynamically, which in turn requires a free_fn.

Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>
Just like with Plugins, LogTemplateFunctions couldn't really be subclassed,
as we basically assumed those are defined in a statically allocated struct.
With the upcoming support for user-defined template functions, we do need
to allocate these on the heap, thus a free operation is needed too.

This patch adds this free_fn, which should both free any dynamic data inside
the struct _and_ the struct itself.

Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>
The upcoming user template functions code does not have a state, and we
don't want to implement boilerplate free_state calls.  Make state optional
by specifying size_of_state as zero.

Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>
This patch adds a new API, user_template_function_register() that allows
registering a LogTemplate instance as a template function, dynamically.

Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>
This patch completes the support for user defined template functions. With
this patch you can define template functions in your configuration the same
way you would define a template.

template-function foobar "this is a template function running on $HOST";

destination d_file {
	file("something.log" template("$(foobar)\n"));
};

Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>
This patch adds a template function $(format-cim) into an SCL module
that implements Common Information Model (aka cim) formatting, as
used by Kibana (and Splunk).

Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>
@algernon algernon added this to the syslog-ng 3.7.1 milestone Aug 18, 2014
algernon added a commit that referenced this pull request Aug 18, 2014
@algernon algernon merged commit 733cad1 into master Aug 18, 2014
@algernon algernon deleted the f/add-format-cim-template-function branch August 18, 2014 10:27
HofiOne pushed a commit to HofiOne/syslog-ng that referenced this pull request Jul 22, 2024
Signed-off-by: László Várady <laszlo.varady@anno.io>
kovgeri01 pushed a commit to kovgeri01/syslog-ng that referenced this pull request Aug 13, 2024
Signed-off-by: László Várady <laszlo.varady@anno.io>
kovgeri01 pushed a commit to kovgeri01/syslog-ng that referenced this pull request Aug 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants