# Class: com.pnfsoftware.jeb.util.logging.StructuredLogger

The structured logger can generate HTML formatted log.

## Constructor: StructuredLogger
- parameter: `name`, type: `java.lang.String`

Description: Create a structured logger with structured and regular logging enabled.
parameter: name: the logger's name

## Constructor: StructuredLogger
- parameter: `name`, type: `java.lang.String`
- parameter: `slEnabled`, type: `boolean`
- parameter: `rlEnabled`, type: `boolean`

Description: Create a structured logger.
parameter: name: the logger's name
parameter: slEnabled: true to enable structured logging; when logging is complete, the structured            log may be dumped to HTML using a [StructuredLoggerHtmlGenerator](StructuredLoggerHtmlGenerator)
parameter: rlEnabled: true to enable regular logging \(eg, to console\) as well

## Method: beginSection
- parameter: `name`, type: `java.lang.String`
- parameter: `defaultOpen`, type: `boolean`

Description: Start a structured log section.
parameter: name: section name
parameter: defaultOpen: true if the generated HTML section should be initially open

## Method: beginSection
- parameter: `name`, type: `java.lang.String`

Description: Start a closed structured log section.
parameter: name: section name

## Method: catching
- parameter: `t`, type: `java.lang.Throwable`


## Method: catching
- parameter: `t`, type: `java.lang.Throwable`
- parameter: `message`, type: `java.lang.String`


## Method: catching
- parameter: `t`, type: `java.lang.Throwable`
- parameter: `format`, type: `java.lang.String`
- parameter: `params`, type: `java.lang.Object[]`


## Method: catchingSilent
- parameter: `t`, type: `java.lang.Throwable`


## Method: closeSection

Description: Close the current structured log section.

## Method: debug
- parameter: `format`, type: `java.lang.String`
- parameter: `params`, type: `java.lang.Object[]`


## Method: error
- parameter: `format`, type: `java.lang.String`
- parameter: `params`, type: `java.lang.Object[]`


## Method: fine
- parameter: `format`, type: `java.lang.String`
- parameter: `params`, type: `java.lang.Object[]`


## Method: generateHtml
- return type: `java.lang.String`

Description: Generate an HTML representation of the structured log.
return: the generated HTML

## Method: generateHtml
- parameter: `out`, type: `java.io.FileOutputStream`
- parameter: `charset`, type: `java.nio.charset.Charset`

Description: Same as generateHtml but per blocks. To use if result is too large.
parameter: out: output stream
parameter: charset: output charset

## Method: getEnabledLevel
- return type: `int`


## Method: getName
- return type: `java.lang.String`


## Method: hasStructuredContents
- return type: `boolean`

Description: Determine whether structured entries have been recorded.
return: true if at least one structured entry exists

## Method: i
- parameter: `format`, type: `java.lang.String`
- parameter: `params`, type: `java.lang.Object[]`


## Method: i
- parameter: `importance`, type: `int`
- parameter: `format`, type: `java.lang.String`
- parameter: `params`, type: `java.lang.Object[]`

Description: Log an internal message with an explicit structured display importance.
parameter: importance: structured display importance
parameter: format: format string if parameters are provided, else plain message
parameter: params: optional format parameters

## Method: iBreak

Description: Insert one visual break in the structured log.

## Method: iBreak
- parameter: `cnt`, type: `int`

Description: Insert visual breaks in the structured log.
parameter: cnt: number of breaks to insert

## Method: iH
- parameter: `format`, type: `java.lang.String`
- parameter: `params`, type: `java.lang.Object[]`

Description: Log an internal highlighted message.
parameter: format: format string if parameters are provided, else plain message
parameter: params: optional format parameters

## Method: iHH
- parameter: `format`, type: `java.lang.String`
- parameter: `params`, type: `java.lang.Object[]`

Description: Log an internal section\-level highlighted message.
parameter: format: format string if parameters are provided, else plain message
parameter: params: optional format parameters

## Method: iHHH
- parameter: `format`, type: `java.lang.String`
- parameter: `params`, type: `java.lang.Object[]`

Description: Log an internal subtitle\-level highlighted message.
parameter: format: format string if parameters are provided, else plain message
parameter: params: optional format parameters

## Method: iHHHH
- parameter: `format`, type: `java.lang.String`
- parameter: `params`, type: `java.lang.Object[]`

Description: Log an internal title\-level highlighted message.
parameter: format: format string if parameters are provided, else plain message
parameter: params: optional format parameters

## Method: iHHHHH
- parameter: `format`, type: `java.lang.String`
- parameter: `params`, type: `java.lang.Object[]`

Description: Log an internal chapter\-level highlighted message.
parameter: format: format string if parameters are provided, else plain message
parameter: params: optional format parameters

## Method: iL
- parameter: `format`, type: `java.lang.String`
- parameter: `params`, type: `java.lang.Object[]`

Description: Log an internal low\-importance message.
parameter: format: format string if parameters are provided, else plain message
parameter: params: optional format parameters

## Method: iSeparator

Description: Insert a visual separator in the structured log.

## Method: info
- parameter: `format`, type: `java.lang.String`
- parameter: `params`, type: `java.lang.Object[]`


## Method: isRegularLoggingEnabled
- return type: `boolean`

Description: Determine whether regular logging is enabled.
return: true if log entries are forwarded to the regular global logger

## Method: isStructuredLoggingEnabled
- return type: `boolean`

Description: Determine whether structured logging is enabled.
return: true if structured entries are recorded

## Method: log
- parameter: `level`, type: `int`
- parameter: `raw`, type: `boolean`
- parameter: `format`, type: `java.lang.String`
- parameter: `params`, type: `java.lang.Object[]`


## Method: log
- parameter: `importance`, type: `int`
- parameter: `level`, type: `int`
- parameter: `raw`, type: `boolean`
- parameter: `format`, type: `java.lang.String`
- parameter: `params`, type: `java.lang.Object[]`

Description: Log a structured message with an explicit display importance.
parameter: importance: structured display importance
parameter: level: log level
parameter: raw: true to bypass regular log prefixes and newline suffixes
parameter: format: format string if parameters are provided, else plain message
parameter: params: optional format parameters

## Method: setEnabledLevel
- parameter: `level`, type: `int`


## Method: setName
- parameter: `name`, type: `java.lang.String`

Description: Set the logger name.
parameter: name: logger name

## Method: severe
- parameter: `format`, type: `java.lang.String`
- parameter: `params`, type: `java.lang.Object[]`


## Method: status
- parameter: `format`, type: `java.lang.String`
- parameter: `params`, type: `java.lang.Object[]`


## Method: trace
- parameter: `format`, type: `java.lang.String`
- parameter: `params`, type: `java.lang.Object[]`


## Method: warn
- parameter: `format`, type: `java.lang.String`
- parameter: `params`, type: `java.lang.Object[]`


## Method: warning
- parameter: `format`, type: `java.lang.String`
- parameter: `params`, type: `java.lang.Object[]`


