Splunk Search

Why am I getting "Error in 'SearchParser': The definition of macro is expected to be an eval expression that returns a string."

herve1
Engager

This is an eval-based macro to be used before the first |
macro definition:
if($Id$=="", " ", " LOGIN_NAME=$Id$ ")
I am using it like this in a splunk search:
... `add_Id(Id=
)` | ...
I get this message:
Error in 'SearchParser': The definition of macro 'add_Id(1)' is expected to be an eval expression that returns a string.
What am I doing wrong?

Tags (1)
0 Karma
1 Solution

acharlieh
Influencer

So there are two issues here apparently... First, macro definitions include the argument names, therefore you should be able to invoke it like so:

index=foo `add_Id(*)` | ...

Secondly, playing with it locally, I think you should change your macro definition slightly to make sure the parameter is treated correctly like so. from: if($Id$=="*", " ", " LOGIN_NAME=$Id$ ") to: if("$Id$"=="*", " ", " LOGIN_NAME=$Id$ ")

View solution in original post

0 Karma

acharlieh
Influencer

So there are two issues here apparently... First, macro definitions include the argument names, therefore you should be able to invoke it like so:

index=foo `add_Id(*)` | ...

Secondly, playing with it locally, I think you should change your macro definition slightly to make sure the parameter is treated correctly like so. from: if($Id$=="*", " ", " LOGIN_NAME=$Id$ ") to: if("$Id$"=="*", " ", " LOGIN_NAME=$Id$ ")

0 Karma
Get Updates on the Splunk Community!

[Puzzles] Solve, Learn, Repeat: Dynamic formatting from XML events

This challenge was first posted on Slack #puzzles channelFor a previous puzzle, I needed a set of fixed-length ...

Enter the Agentic Era with Splunk AI Assistant for SPL 1.4

  🚀 Your data just got a serious AI upgrade — are you ready? Say hello to the Agentic Era with the ...

Stronger Security with Federated Search for S3, GCP SQL & Australian Threat ...

Splunk Lantern is a Splunk customer success center that provides advice from Splunk experts on valuable data ...