ILoggerFluentAtLevelWith
- Namespace
- ZCore
Helper interface for the fluent API for logging messages with a logger. The interface is needed to restrict the calls to "WithX" methods of the fluent API after an "AppendX" call has been made.
INTERFACE ILoggerFluentAtLevelWith
Methods
Append
The Append method can be used to add text to the end of a string represented to the
StringBuilder. The following example uses a StringBuilder to write
Velocity = 5.4 mm/s
into the text variable.
Usage:
_stringBuilder : ZAux.StringBuilder;
_text : ZCore.ZString;
---------------------------------------
_text := _stringBuilder.Append('Velocity = ').AppendReal(5.4444, 1).Append(' mm/s').ToString();
For already instantiated strings, it is faster to use the AppendRef method instead. This method, however, should be used if dealing with rvalues (temporary strings)
If a string is appended to the current string, which would exceed 255 characters (see ZString, the string is cut off and the last characters are set to ' ...'
METHOD Append (
text : ZString) : ILoggerFluentAtLevelWith
Inputs
text
ZString
Returns
AppendBool
Append a BOOL in the form of True
or False
to a string.
There exist more ways to append a bool variable, which result in slightly different
appended strings.
METHOD | val | Appended STRING |
---|---|---|
AppendBool | TRUE | True |
AppendBool | FALSE | False |
AppendOnOff | TRUE | On |
AppendOnOff | FALSE | Off |
AppendYesNo | TRUE | Yes |
AppendYesNo | FALSE | No |
_stringBuilder : ZAux.StringBuilder;
_io1 : BOOL := TRUE;
_io2 : BOOL := FALSE;
_text : ZCore.ZString
---------------------------------------
_text := _stringBuilder.AppendBool(_io1).ToString(); // adds the text 'True' to the string
_text := _stringBuilder.AppendBool(_io2).ToString(); // adds the text 'False' to the string
See Append for details about appending.
METHOD AppendBool (
val : BOOL) : ILoggerFluentAtLevelWith
Inputs
Returns
AppendDint
Append a DINT primitive type to the string.
_stringBuilder : ZAux.StringBuilder;
_answer : DINT := 42;
_text : ZCore.ZString;
---------------------------------------
_text := _stringBuilder.AppendDint(_answer).ToString(); // adds the text '42' to the string
See Append for details.
METHOD AppendDint (
val : DINT) : ILoggerFluentAtLevelWith
Inputs
Returns
AppendError
This Append method can be used to return a detailed error summary for an object that failed. It is mainly used within the Zeugwerk Framework context and therefore easy to use.
_stringBuilder : ZAux.StringBuilder;
_ctrl : ZEquipment.OnOffController;
---------------------------------------
_stringBuilder.AppendError(_ctrl).ToString(); // adds the actual ongoing ErrorMessage to the string
METHOD AppendError (
error : IError) : ILoggerFluentAtLevelWith
Inputs
error
IError
Returns
AppendFormat
This method can be used to add text to the end of a string represented to the StringBuilder
It supports formatting with the usual printf syntax ('%d', '%3.3f')
The argument arg
may be a primitive, numeric variable (e.g. INT, DINT, LREAL).
Usage:
_stringBuilder : ZAux.StringBuilder;
_text : STRING(255);
_value : REAL := 42.0123;
---------------------------------------
_text := _stringBuilder.Append('Velocity = ').AppendFormat(_value, 1).Append(' mm/s').ToString();
METHOD AppendFormat (
arg : ANY,
format : ZString) : ILoggerFluentAtLevelWith
Inputs
arg
ANYformat
ZStringi.e '%d', '%3.3f'
Returns
AppendInt
Append an INT primitive type to the string.
_stringBuilder : ZAux.StringBuilder;
_answer : INT := 42;
_text : ZCore.ZString;
---------------------------------------
_text := _stringBuilder.AppendInt(_answer).ToString(); // adds the text '42' to the string
See Append for details.
METHOD AppendInt (
val : INT) : ILoggerFluentAtLevelWith
Inputs
Returns
AppendLreal
Append a floating-point type to the string. The number of decimal places that should be used can be configured with an additional parameter. The number of decimals can actually be negative (-1) to prevent the decimal point from showing up.
_stringBuilder : ZAux.StringBuilder;
_text : ZCore.ZString;
---------------------------------------
_text := _stringBuilder.Append('Value: ').AppendLreal(4, 0).ToString(); > returns 'Value: 4.'
_text := _stringBuilder.Append('Value: ').AppendLreal(4, -1).ToString(); > returns 'Value: 4'
_text := _stringBuilder.Append('Value: ').AppendLreal(4, 3).ToString(); > returns 'Value: 4.000'
See Append for details.
METHOD AppendLreal (
val : LREAL,
decimalPlaces : SINT) : ILoggerFluentAtLevelWith
Inputs
Returns
AppendOnOff
Append a BOOL in the form of On
or Off
to a string.
There exist more ways to append a bool variable, which result in slightly different
appended strings.
_stringBuilder : ZAux.StringBuilder;
_io1 : BOOL := TRUE;
_io2 : BOOL := FALSE;
_text : ZCore.ZString;
---------------------------------------
_text := _stringBuilder.AppendOnOff(_io1).ToString(); // adds the text 'On' to the string
_text := _stringBuilder.AppendOnOff(_io2).ToString(); // adds the text 'Off' to the string
See AppendBool for variants of appending bools. See Append for details about appending.
METHOD AppendOnOff (
val : BOOL) : ILoggerFluentAtLevelWith
Inputs
Returns
AppendParamBool
Append a parameter with value type BOOL
in the form of True
or False
to a string.
This is especially useful for logging parameters.
For adding the boolean, internally the method AppendBool is used.
_stringBuilder : ZAux.StringBuilder;
_text : ZCore.ZString;
---------------------------------------
_text := _stringBuilder.AppendParamBool('Parameter 1', TRUE).ToString(); // adds the text 'Parameter 1: True' to the string
_text := _stringBuilder.AppendParamBool('Parameter 2', FALSE).ToString(); // adds the text 'Parameter 2: False' to the string
See Append for details.
METHOD AppendParamBool (
name : STRING,
val : BOOL) : ILoggerFluentAtLevelWith
Inputs
Returns
AppendParamDint
Append a parameter with value type DINT
to the string.
This is especially useful for logging parameters.
_stringBuilder : ZAux.StringBuilder;
_text : ZCore.ZString;
---------------------------------------
_text := _stringBuilder.AppendParamDint('Parameter 1', 5, 'mm').ToString(); // adds the text 'Parameter 1: 5mm' to the string
See Append for details.
METHOD AppendParamDint (
name : STRING,
val : DINT,
unit : STRING(10)) : ILoggerFluentAtLevelWith
Inputs
Returns
AppendParamInt
Append a parameter with value type INT
to the string.
This is especially useful for logging parameters.
_stringBuilder : ZAux.StringBuilder;
_text : ZCore.ZString;
---------------------------------------
_text := _stringBuilder.AppendParamInt('Parameter 1', 5, 'mm').ToString(); // adds the text 'Parameter 1: 5mm' to the string
See Append for details.
METHOD AppendParamInt (
name : STRING,
val : INT,
unit : STRING(10)) : ILoggerFluentAtLevelWith
Inputs
Returns
AppendParamLreal
Append a parameter with value type LREAL
to the string. This is especially useful for logging parameters.
The number of decimal places that should be used can be configured with an additional parameter. The number of decimals can actually
be negative (-1) to prevent the decimal point from showing up.
_stringBuilder : ZAux.StringBuilder;
_text : ZCore.ZString;
---------------------------------------
_text := _stringBuilder.AppendParamLreal('Value', val:=5, decimalPlaces:=-1, unit:='mm').ToString(); // returns 'Value: 5mm'
_text := _stringBuilder.AppendParamLreal('Value', val:=5, decimalPlaces:=-3, unit:='deg').ToString(); // returns 'Value: 5.000deg'
See Append for details.
METHOD AppendParamLreal (
name : STRING,
val : LREAL,
decimalPlaces : SINT,
unit : STRING(10)) : ILoggerFluentAtLevelWith
Inputs
Returns
AppendParamOnOff
Append a parameter with value type BOOL
in the form of On
or Off
to a string.
This is especially useful for logging parameters.
For adding the boolean, internally the method AppendBool is used.
_stringBuilder : ZAux.StringBuilder;
_text : ZCore.ZString;
---------------------------------------
_text := _stringBuilder.AppendParamOnOff('Parameter 1', TRUE).ToString(); // adds the text 'Parameter 1: On' to the string
_text := _stringBuilder.AppendParamOnOff('Parameter 2', FALSE).ToString(); // adds the text 'Parameter 2: Off' to the string
See Append for details.
METHOD AppendParamOnOff (
name : STRING,
val : BOOL) : ILoggerFluentAtLevelWith
Inputs
Returns
AppendParamReal
Append a parameter with value type REAL
to the string. This is especially useful for logging parameters.
The number of decimal places that should be used can be configured with an additional parameter. The number of decimals can actually
be negative (-1) to prevent the decimal point from showing up.
_stringBuilder : ZAux.StringBuilder;
_text : ZCore.ZString;
---------------------------------------
_text := _stringBuilder.AppendParamReal('Value', val:=5, decimalPlaces:=-1, unit:='mm').ToString(); // returns 'Value: 5mm'
_text := _stringBuilder.AppendParamReal('Value', val:=5, decimalPlaces:=-3, unit:='deg').ToString(); // returns 'Value: 5.000deg'
See Append for details.
METHOD AppendParamReal (
name : STRING,
val : REAL,
decimalPlaces : SINT,
unit : STRING(10)) : ILoggerFluentAtLevelWith
Inputs
Returns
AppendParamString
Append a string parameter to the string. This is especially useful for logging parameters.
_stringBuilder : ZAux.StringBuilder;
_text : ZCore.ZString;
---------------------------------------
_text := _stringBuilder.AppendParamDint('Parameter 1', 'Value 1').ToString(); // adds the text 'Parameter 1: Value 1' to the string
See Append for details.
METHOD AppendParamString (
name : STRING,
str : STRING) : ILoggerFluentAtLevelWith
Inputs
Returns
AppendParamUdint
Append a parameter with value type INT
to the string.
This is especially useful for logging parameters.
_stringBuilder : ZAux.StringBuilder;
_text : ZCore.ZString;
---------------------------------------
_text := _stringBuilder.AppendParamUdint('Parameter 1', 5, 'mm').ToString(); // adds the text 'Parameter 1: 5mm' to the string
See Append for details.
METHOD AppendParamUdint (
name : STRING,
val : UDINT,
unit : STRING(10)) : ILoggerFluentAtLevelWith
Inputs
Returns
AppendParamUint
Append a parameter with value type UINT
to the string.
This is especially useful for logging parameters.
_stringBuilder : ZAux.StringBuilder;
_text : ZCore.ZString;
---------------------------------------
_text := _stringBuilder.AppendParamUint('Parameter 1', 5, 'mm').ToString(); // adds the text 'Parameter 1: 5mm' to the string
See Append for details.
METHOD AppendParamUint (
name : STRING,
val : UINT,
unit : STRING(10)) : ILoggerFluentAtLevelWith
Inputs
Returns
AppendParamUlint
Append a parameter with value type ULINT
to the string.
This is especially useful for logging parameters.
_stringBuilder : ZAux.StringBuilder;
_text : ZCore.ZString;
---------------------------------------
_text := _stringBuilder.AppendParamUlint('Parameter 1', 5, 'mm').ToString(); // adds the text 'Parameter 1: 5mm' to the string
See Append for details.
METHOD AppendParamUlint (
name : STRING,
val : ULINT,
unit : STRING(10)) : ILoggerFluentAtLevelWith
Inputs
Returns
AppendParamYesNo
/
Append a parameter with value type BOOL
in the form of Yes
or No
to a string.
This is especially useful for logging parameters.
For adding the boolean, internally the method AppendBool is used.
_stringBuilder : ZAux.StringBuilder;
_text : ZCore.ZString;
---------------------------------------
_text := _stringBuilder.AppendParamYesNo('Parameter 1', TRUE).ToString(); // adds the text 'Parameter 1: Yes' to the string
_text := _stringBuilder.AppendParamYesNo('Parameter 2', FALSE).ToString(); // adds the text 'Parameter 1: No' to the string
See Append for details.
METHOD AppendParamYesNo (
name : STRING,
val : BOOL) : ILoggerFluentAtLevelWith
Inputs
Returns
AppendReal
/
Append a floating-point type to the string. The number of decimal places that should be used can be configured with an additional parameter. The number of decimals can actually be negative (-1) to prevent the decimal point from showing up.
_stringBuilder : ZAux.StringBuilder;
_text : ZCore.ZString;
---------------------------------------
_text := _stringBuilder.Append('Value: ').AppendReal(4, 0).ToString();
returns 'Value: 4.'
_text := _stringBuilder.Append('Value: ').AppendReal(4, -1).ToString();
returns 'Value: 4'
_text := _stringBuilder.Append('Value: ').AppendReal(4, 3).ToString();
returns 'Value: 4.000'
Please note that for the previous example it is also useful to use AppendParamReal.
See Append for details.
METHOD AppendReal (
val : REAL,
decimalPlaces : SINT) : ILoggerFluentAtLevelWith
Inputs
Returns
AppendRef
/
see Append
METHOD AppendRef (
text : REFERENCE TO ZString) : ILoggerFluentAtLevelWith
Inputs
text
REFERENCE TO ZString
Returns
AppendUdint
/
Append an UDINT primitive type to the string.
_stringBuilder : ZAux.StringBuilder;
_answer : UDINT := 42;
_text : ZCore.ZString;
---------------------------------------
_text := _stringBuilder.AppendUdInt(_answer).ToString(); // adds the text '42' to the string
See Append for details.
METHOD AppendUdint (
val : UDINT) : ILoggerFluentAtLevelWith
Inputs
Returns
AppendUint
/
Append an UINT primitive type to the string.
_stringBuilder : ZAux.StringBuilder;
_answer : UINT := 42;
_text : ZCore.ZString;
---------------------------------------
_stringBuilder.AppendUint(_answer).ToString(); // adds the text '42' to the string
See Append for details.
METHOD AppendUint (
val : UINT) : ILoggerFluentAtLevelWith
Inputs
Returns
AppendUlint
/
Append an ULINT primitive type to the string.
_stringBuilder : ZAux.StringBuilder;
_answer : ULINT := 424242;
_text : ZCore.ZString;
---------------------------------------
_stringBuilder.Append('Answer: ').AppendUlint(_answer).ToString(); // adds the text 'Answer: 424242' to the string
See Append for details.
METHOD AppendUlint (
val : ULINT) : ILoggerFluentAtLevelWith
Inputs
Returns
AppendUrlEncoded
/
The Append method can be used to add text to the end of a string represented to the
StringBuilder. The following example uses a StringBuilder to write
Velocity = 5.4 mm/s
into the text variable.
Usage:
_stringBuilder : ZAux.StringBuilder;
_text : ZCore.ZString;
---------------------------------------
_text := _stringBuilder.Append('Velocity = ').AppendReal(5.4444, 1).Append(' mm/s').ToString();
For already instantiated strings, it is faster to use the AppendRef method instead. This method, however, should be used if dealing with rvalues (temporary strings)
If a string is appended to the current string, which would exceed 255 characters (see ZString, the string is cut off and the last characters are set to ' ...'
In contrast to Append, this method also encodes the passed string for an URL format so that it can be used for http requests.
METHOD AppendUrlEncoded (
text : ZString) : ILoggerFluentAtLevelWith
Inputs
text
ZString
Returns
AppendYesNo
/
Append a BOOL in the form of Yes
or No
to a string.
There exist more ways to append a bool variable, which result in slightly different
appended strings.
_stringBuilder : ZAux.StringBuilder;
_text : ZCore.ZString
---------------------------------------
_stringBuilder.AppendYesNo(TRUE).ToString(); // adds the text 'Yes' to the string
_stringBuilder.AppendYesNo(FALSE).ToString(); // adds the text 'No' to the string
See AppendBool for variants of appending bools. See Append for details about appending.
METHOD AppendYesNo (
val : BOOL) : ILoggerFluentAtLevelWith
Inputs
Returns
LogMessage
/ This method initiates to write the message that has been set up so far with the fluent API.
METHOD LogMessage (
text : ZString)
Inouts
text
ZString