---
name: "register_trace_handler"
section: "3alleg4"
platform: "linux"
package: "allegro4-doc"
version: "2:4.4.3.1-5"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/register_trace_handler/3alleg4"
---

# register\_trace\_handler(3alleg4)

Registers a custom handler for trace output. Allegro game programming library.

## NAME

register\_trace\_handler - Registers a custom handler for trace output. Allegro game programming library.

## SYNOPSIS

**#include \<allegro.h\>**

**void register\_trace\_handler(int (\*handler)(const char \*msg));**

## DESCRIPTION

Supplies a custom handler function for dealing with trace output. Your  callback will be passed a formatted error message in ASCII, and should  return non-zero if it has processed the message, or zero to continue with  the default actions. You could use this to ignore trace output, or to  display the messages on a second monochrome monitor, etc. You can call this function even when Allegro has not been initialised. Example:

```
   int network_broadcaster(const char *text)
   {
      int f;
      for (int f = 0; f
         send_msg_to_client(client[f], text);
      return 0; /* Let normal tracing occur. */
   }
   ...
      register_trace_handler(network_broadcaster);
      TRACE("Networked tracing activated\n");
```

## SEE ALSO

**al\_trace**(3alleg4), **TRACE**(3alleg4), **register\_assert\_handler**(3alleg4)
