---
name: "register_trace_handler"
section: "3alleg"
platform: "linux"
package: "liballegro-doc"
version: "2:4.2.2-2.2"
release: "Debian 6.0 (Squeeze)"
platforms: ["linux"]
url: "https://new.carta.tech/register_trace_handler"
---

# register\_trace\_handler(3alleg)

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**(3alleg)](/al_trace/3alleg.md), [**TRACE**(3alleg)](/TRACE/3alleg.md), [**register\_assert\_handler**(3alleg)](/register_assert_handler/3alleg.md)
