A computer-implemented method comprising: parsing source code of one or more software packages (112, 122) that produce textual output messages; identifying, in the source code, one or more call expressions that each represent a logging call; generating a number of search patterns for parsing textual output messages produced by the one or more software packages (112, 122), wherein each of the search patterns is based on one or more arguments of a corresponding call expression of the one or more call expressions, wherein generating the number of search patterns comprises applying string parsing logic to a string representing the corresponding call expression, the string parsing logic to identify a function call and one or more parameters in the one or more arguments of the corresponding call expression; and characterized in: reducing the number of search patterns to be applied to the textual output messages produced by the one or more software packages (112, 122) to identify log entries (113, 123) among the textual output messages, wherein reducing the number of search patterns comprises: generating an ordered list of the search patterns according to a number of textual output messages recognized as log entries (113, 123) based on each search pattern; identifying a threshold number of the search patterns, wherein the search patterns among the threshold number have a higher number of textual output messages recognized as log entries (113, 123) than search patterns outside the threshold number; and removing the search patterns outside the threshold number from the ordered list. parsing source code of one or more software packages (112, 122) that produce textual output messages; identifying, in the source code, one or more call expressions that each represent a logging call; generating a number of search patterns for parsing textual output messages produced by the one or more software packages (112, 122), wherein each of the search patterns is based on one or more arguments of a corresponding call expression of the one or more call expressions, wherein generating the number of search patterns comprises applying string parsing logic to a string representing the corresponding call expression, the string parsing logic to identify a function call and one or more parameters in the one or more arguments of the corresponding call expression; and characterized in: reducing the number of search patterns to be applied to the textual output messages produced by the one or more software packages (112, 122) to identify log entries (113, 123) among the textual output messages, wherein reducing the number of search patterns comprises: generating an ordered list of the search patterns according to a number of textual output messages recognized as log entries (113, 123) based on each search pattern; identifying a threshold number of the search patterns, wherein the search patterns among the threshold number have a higher number of textual output messages recognized as log entries (113, 123) than search patterns outside the threshold number; and removing the search patterns outside the threshold number from the ordered list. generating an ordered list of the search patterns according to a number of textual output messages recognized as log entries (113, 123) based on each search pattern; identifying a threshold number of the search patterns, wherein the search patterns among the threshold number have a higher number of textual output messages recognized as log entries (113, 123) than search patterns outside the threshold number; and removing the search patterns outside the threshold number from the ordered list.