.. _console-module: ############## Console module ############## .. versionadded:: 4.2.0 The Console module allows you to log information during condition execution. By default, the log messages are sent to stdout but can be handled differently by using the C api (:ref:`scanning-data`). Every function in the console module returns true for the purposes of condition evaluation. This means you must logically and your statements together to get the proper output. For example: .. code-block:: yara import "console" rule example { condition: console.log("Hello") and console.log("World!") } .. c:function:: log(string) Function which sends the string to the main callback. *Example: console.log(pe.imphash())* .. c:function:: log(message, string) Function which sends the message and string to the main callback. *Example: console.log("The imphash is: ", pe.imphash())* .. c:function:: log(integer) Function which sends the integer to the main callback. *Example: console.log(uint32(0))* .. c:function:: log(message, integer) Function which sends the message and integer to the main callback. *Example: console.log("32bits at 0: ", uint32(0))* .. c:function:: log(float) Function which sends the floating point value to the main callback. *Example: console.log(math.entropy(0, filesize))* .. c:function:: log(message, float) Function which sends the message and the floating point value to the main callback. *Example: console.log("Entropy: ", math.entropy(0, filesize))* .. c:function:: hex(integer) Function which sends the integer to the main callback, formatted as a hex string. *Example: console.hex(uint32(0))* .. c:function:: hex(message, integer) Function which sends the integer to the main callback, formatted as a hex string. *Example: console.hex("Hex at 0: ", uint32(0))*