<commit_before># elmah.io.log4net
Log to elmah.io from log4net.

## Installation
elmah.io.log4net installs through NuGet:

```
PS> Install-Package elmah.io.log4net
```

Add the elmah.io appender to your log4net.config:

```
<root>
  <appender-ref ref="ElmahIoAppender" />
</root>

<appender name="ElmahIoAppender" type="Elmah.Io.Log4Net.ElmahIoAppender, elmah.io.log4net">
  <logId value="ELMAH_IO_LOG_ID" />
  <filter type="log4net.Filter.LevelRangeFilter">
    <param name="LevelMin" value="INFO"/>
  </filter>
</appender>
```

In the example we specify the level minimum as INFO. This tells log4net to log only information, warnings, errors and fatals in log4net. You may adjust this but be aware, that your elmah.io log may run full pretty fast, if you log thousands and thousands of verbose messages.

## Usage
Log messages to elmah.io, just as with every other appender and log4net:

```
log.Info("This is an information message");
log.Error("This is an error message", ex);
```<commit_msg>Added syntax highlighting<commit_after># elmah.io.log4net
Log to elmah.io from log4net.

## Installation
elmah.io.log4net installs through NuGet:

```
PS> Install-Package elmah.io.log4net
```

Add the elmah.io appender to your log4net.config:

```xml
<root>
  <appender-ref ref="ElmahIoAppender" />
</root>

<appender name="ElmahIoAppender" type="Elmah.Io.Log4Net.ElmahIoAppender, elmah.io.log4net">
  <logId value="ELMAH_IO_LOG_ID" />
  <filter type="log4net.Filter.LevelRangeFilter">
    <param name="LevelMin" value="INFO"/>
  </filter>
</appender>
```

In the example we specify the level minimum as INFO. This tells log4net to log only information, warnings, errors and fatals in log4net. You may adjust this but be aware, that your elmah.io log may run full pretty fast, if you log thousands and thousands of verbose messages.

## Usage
Log messages to elmah.io, just as with every other appender and log4net:

```c#
log.Info("This is an information message");
log.Error("This is an error message", ex);
```
{'fraction_non_alphanumeric': 0.11796913887506222, 'fraction_numerical': 0.010950721752115481, 'mean_word_length': 4.792507204610951, 'pattern_counts': {'":': 0, '<': 21, '<?xml version=': 0, '>': 23, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 1}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2573481', 'n_tokens_mistral': 707, 'n_tokens_neox': 689, 'n_words': 226}