---
product: Chilkat
product_version: 11.7.0
language: python
language_label: Python
class: Log
license: free
deprecated: false
reference_html: https://www.chilkatsoft.com/refdoc/pythonLogRef.html
---
# Chilkat Log — Python — v11.7.0

> Chilkat 11.7.0 · language=python · class=Log
> Other versions: replace `11.7.0` in this URL. Other languages: `https://www.chilkatsoft.com/ai-docs/v/11.7.0/<lang>/classes/Log.md`.
> Language-wide rules (install, unlock, error model, strings/bytes): `https://www.chilkatsoft.com/ai-docs/v/11.7.0/python/guide.md`.

## Purpose

**Build readable structured diagnostic logs with nested context and tagged values.**

`Chilkat.Log` is a lightweight structured logging helper for creating readable diagnostic logs from application code. It can record nested operation contexts, informational messages, error messages, timestamps, integers, 64-bit integers, tagged values, binary data, Base64 data, hex data, shortened data previews, and computed hashes. It is useful when code needs a clear step-by-step record of operations, inputs, outputs, and diagnostic values for troubleshooting.

**Nested operation context**

Use `EnterContext` and `LeaveContext` to group log entries under readable operation names.

**Messages and errors**

Add informational messages, error messages, and tagged text values to explain what the application is doing.

**Numbers and timestamps**

Log integers, 64-bit integers, timestamps, and date/time values when tracing state changes or timing-sensitive workflows.

**Binary diagnostics**

Record binary data as Base64, hex, or shortened previews so byte-level values can be inspected safely in text logs.

**Hash logging**

Compute and log hashes of data when comparing content, verifying transformations, or avoiding full data dumps.

**Clear and reuse**

Clear the log and continue building new diagnostic output during repeated operations or test runs.

**Common pattern:** Create a `Log` object, enter a named context for the operation, log the important values and decisions as the code runs, leave the context, and inspect the resulting text if troubleshooting is needed. Use `Chilkat.Log` for application-level diagnostic output; use `LastErrorText` on Chilkat objects for detailed diagnostics from Chilkat method calls.

For an extended overview, see [Log Class Overview](https://www.chilkatsoft.com/log_class_overview.asp).

## Object creation, unlocking and error handling

**Object Creation**

```python
obj = chilkat2.Log()
```

Call `Global.UnlockBundle` once at the start of the program, before using this or any other Chilkat class. Any string unlocks a fully functional 30-day trial; a purchased unlock code is used in production. See `guide.md` for the exact code in Python.

Minimal complete program:

```python
import chilkat2

# Required once per process. Any string unlocks a 30-day trial; use your purchased code in production.
glob = chilkat2.Global()
if not glob.UnlockBundle("Anything for 30-day trial"):
    print(glob.LastErrorText)
    raise SystemExit(1)

log = chilkat2.Log()
```

How failure is reported depends on the method's return type and is stated in the note under each method below. In every case the diagnostic text is in the `LastErrorText` property of the object whose method was called.

## Members common to every Chilkat class

Documented once per language in `common-members.md`; listed here so this page is self-contained.

| Property | Signature | Access | Meaning |
|---|---|---|---|
| `DebugLogFilePath` | `string DebugLogFilePath` | read/write | If set to a file path, this property logs the LastErrorText of each Chilkat method or property call to the specified file. |
| `LastErrorHtml` | `string LastErrorHtml (read-only)` | read-only | Provides HTML-formatted information about the last called method or property. |
| `LastErrorText` | `string LastErrorText (read-only)` | read-only | Provides plain text information about the last called method or property. |
| `LastErrorXml` | `string LastErrorXml (read-only)` | read-only | Provides XML-formatted information about the last called method or property. |
| `LastMethodSuccess` | `bool LastMethodSuccess` | read/write | Indicates the success or failure of the most recent method call: `True` means success, `False` means failure. |
| `VerboseLogging` | `bool VerboseLogging` | read/write | If set to `True`, then the contents of LastErrorText (or LastErrorXml, or LastErrorHtml) may contain more verbose information. |
| `Version` | `string Version (read-only)` | read-only | Version of the component/library, such as "10.1.0" |

## Member index

| Member | Kind | Signature |
|---|---|---|
| `Clear` | method | `void Clear(string initialTag)` |
| `EnterContext` | method | `void EnterContext(string tag)` |
| `LeaveContext` | method | `void LeaveContext()` |
| `LogData` | method | `void LogData(string tag, string message)` |
| `LogDataBase64` | method | `void LogDataBase64(string tag, memoryview data)` |
| `LogDataHex` | method | `void LogDataHex(string tag, memoryview data)` |
| `LogDataMax` | method | `void LogDataMax(string tag, string message, int maxNumChars)` |
| `LogDateTime` | method | `void LogDateTime(string tag, bool gmt)` |
| `LogError` | method | `void LogError(string message)` |
| `LogInfo` | method | `void LogInfo(string message)` |
| `LogInt` | method | `void LogInt(string tag, int value)` |
| `LogInt64` | method | `void LogInt64(string tag, int value)` |
| `LogTimestamp` | method | `void LogTimestamp(string tag)` |

## Methods

### Log.Clear

`Chilkat 11.7.0 · python · Log · Clear · method · since 9.5.0.44`

```python
void Clear(string initialTag)
```

Clears all existing log entries and starts a new log whose top-level context is named `initialTag`.

**Typical use:** Call this at the beginning of an operation or test run, then add entries with the other `Log*` methods. The completed structured log can be inspected through the Log object's diagnostic text, such as `LastErrorText`.

### Log.EnterContext

`Chilkat 11.7.0 · python · Log · EnterContext · method · since 9.5.0.44`

```python
void EnterContext(string tag)
```

Begins a nested logging context named `tag`. Entries written after this call are grouped inside the new context until a matching `LeaveContext` is called.

**Balanced contexts:** Pair each `EnterContext` with `LeaveContext`. Contexts may be nested to reflect operation hierarchy.

### Log.LeaveContext

`Chilkat 11.7.0 · python · Log · LeaveContext · method · since 9.5.0.44`

```python
void LeaveContext()
```

Ends the current nested logging context and returns logging to its parent context.

**Empty contexts are omitted:** If nothing was logged after entering the current context, Chilkat automatically removes that empty context when it is left.

### Log.LogData

`Chilkat 11.7.0 · python · Log · LogData · method · since 9.5.0.44`

```python
void LogData(string tag, string message)
```

Adds a tagged text value to the current context. The output associates `tag` with `message`, making this useful for named values such as filenames, paths, IDs, states, or protocol fields.

**Sensitive data:** Avoid logging passwords, private keys, access tokens, session secrets, or other sensitive values unless disclosure is intentional.

### Log.LogDataBase64

`Chilkat 11.7.0 · python · Log · LogDataBase64 · method · since 9.5.0.44`

```python
void LogDataBase64(string tag, memoryview data)
```

Encodes the supplied binary `data` as Base64 and adds the encoded value to the current log under `tag`.

**Base64:** Base64 makes arbitrary bytes printable in a text log. It is an encoding, not encryption.

### Log.LogDataHex

`Chilkat 11.7.0 · python · Log · LogDataHex · method · since 9.5.0.44`

```python
void LogDataHex(string tag, memoryview data)
```

Encodes the supplied binary `data` as hexadecimal text and adds the encoded value to the current log under `tag`.

**Hex output:** Hex is convenient for short protocol fields, identifiers, digests, and byte-level troubleshooting because each byte is represented by two hex digits.

### Log.LogDataMax

`Chilkat 11.7.0 · python · Log · LogDataMax · method · since 9.5.0.44`

```python
void LogDataMax(string tag, string message, int maxNumChars)
```

Adds a tagged text value to the current context, but limits the logged value to at most the first `maxNumChars` characters of `message`.

**Diagnostic previews:** Use this when a value may be very large and only a leading preview is needed. The original input string is not modified.

### Log.LogDateTime

`Chilkat 11.7.0 · python · Log · LogDateTime · method · since 9.5.0.44`

```python
void LogDateTime(string tag, bool gmt)
```

Logs the current date and time under `tag` using an RFC 822-style date/time representation. If `gmt` is `True`, the logged time is GMT/UTC; otherwise local system time is used.

**Date/time vs. timestamp:** Use `LogDateTime` for a calendar date with timezone context. Use `LogTimestamp` for a time-of-day marker.

### Log.LogError

`Chilkat 11.7.0 · python · Log · LogError · method · since 9.5.0.44`

```python
void LogError(string message)
```

Adds `message` as an error entry in the current logging context.

**Application diagnostics:** This is application-defined logging. It is separate from `LastErrorText` produced by other Chilkat objects when their operations fail.

### Log.LogInfo

`Chilkat 11.7.0 · python · Log · LogInfo · method · since 9.5.0.44`

```python
void LogInfo(string message)
```

Adds `message` as an informational entry in the current logging context.

**Structured tracing:** Use informational entries for significant steps and decisions. Use `LogData` when the entry is better represented as a named value.

### Log.LogInt

`Chilkat 11.7.0 · python · Log · LogInt · method · since 9.5.0.44`

```python
void LogInt(string tag, int value)
```

Adds the integer `value` to the current log under `tag`.

### Log.LogInt64

`Chilkat 11.7.0 · python · Log · LogInt64 · method · since 9.5.0.44`

```python
void LogInt64(string tag, int value)
```

Adds the signed 64-bit integer `value` to the current log under `tag`.

**64-bit values:** Useful for values such as large byte counts, file sizes, sequence numbers, or timestamps that can exceed ordinary integer ranges.

### Log.LogTimestamp

`Chilkat 11.7.0 · python · Log · LogTimestamp · method · since 9.5.0.44`

```python
void LogTimestamp(string tag)
```

Logs the current time-of-day under `tag` in `HH:MM:SS:mmm` form, where `mmm` represents milliseconds.

**Timing note:** This is a time-of-day marker, not a monotonic elapsed-time measurement.

