An implementation of LogRecordBuilder that builds text-based log records. This class is the base class for most back-ends.
Inheritance
Namespace: PostSharp.Patterns.Diagnostics.RecordBuilders
Assembly: PostSharp.Patterns.Diagnostics.dll
Syntax
public abstract class TextLogRecordBuilder : LogRecordBuilder, ICustomLogRecordBuilder, IDisposableConstructors
| Name | Description |
|---|---|
| TextLogRecordBuilder(TextLoggingBackend) | Initializes a new TextLogRecordBuilder. |
Properties
| Name | Description |
|---|---|
| Backend | Gets the parent back-end. |
| BackendOptions | Shortcut for |
| Exception | Gets the Exception for the current record, or |
| Level | Gets the LogLevel for the current record. |
| MemberName | Gets the name of the method, property or field for the current record. |
| Options | Gets the LoggingOptions for the current record. |
| ParameterPrefix | Gets prefix used for parameter names. |
| Profile | Gets the LoggingProfile for the current record. |
| PropertyPrefix | Gets prefix used for property names. |
| ReturnItemPrefix | Gets prefix used for return values. |
| SourceLineInfo | Gets the SourceLineInfo for the current record. |
| SourceType | Gets the source Type of the current record. |
| StringBuilder | Gets the current UnsafeStringBuilder where everything is being appended. |
| TypeSource | Gets the LoggingTypeSource for the current record. |
Methods
| Name | Description |
|---|---|
| AddHiddenCustomParameter<T>(int, CharSpan, T, in CustomLogParameterOptions, IFormatter<T>) | Method invoked by WriteCustomParameter<T>(int, ArraySegment<char>, T, IFormatter<T>) when for parameter mode is Hidden. The default implementation does not do anything. |
| AppendAsyncInfo() | Appends information about the async method to the current StringBuilder. |
| AppendClosingParenthesisConditional() | Appends a closing parenthesis to the current StringBuilder if required. |
| AppendComma() | Appends a command and a space to the current StringBuilder, and resets the required punctuation set by RequireComma() or RequirePunctuation(char). |
| AppendCommaConditional() | Appends a comma to the current StringBuilder, unless this method is invoked for the first time for the current record. |
| AppendContextDescription() | Appends the context Description (or the TypeSource name, if the type of the context is not equal to the source type of the record) to the current StringBuilder. |
| AppendContextDescription(LoggingContext) | Appends the context Description to the current StringBuilder. |
| AppendDelimiter() | Appends a Delimiter to the current StringBuilder. |
| AppendDelimiterConditional() | Appends a Delimiter to the current StringBuilder if the RequireDelimiter() method has been called previously. |
| AppendEpilogue() | Appends the final part of log message to StringBuilder. This includes state machine number and execution time where relevant, but does not include exception details. |
| AppendExceptionDetails() | Appends exception details to StringBuilder if IncludeExceptionDetails is set. |
| AppendExecutionTime() | Appends the execution time to the current StringBuilder. |
| AppendExecutionTimeThreshold() | Appends the execution time threshold to the current StringBuilder. |
| AppendIndentString(int) | Appends indentation for the given to StringBuilder. |
| AppendMemberName() | Appends name of the member for the current record (including the declaring type name, subject to the IncludeType property) to the current StringBuilder, as well as an opening parenthesis. |
| AppendOpeningParenthesis() | Appends an opening parenthesis to the current StringBuilder. |
| AppendProlog() | Appends the indent string, context description, and the record kind to the current StringBuilder. |
| AppendRecordKind() | Appends the LogRecordKind of the current record to the current StringBuilder. |
| AppendSemanticParameter(SemanticParameterKind, string, object, IFormatter, string, int) | Appends a parameter to the current StringBuilder, where the name is given as a string, and uses a specific formatter. Back-ends that support semantic logging may store the parameter value semantically instead of appending it to the StringBuilder. This method overload is weakly typed. |
| AppendSemanticParameter(SemanticParameterKind, string, string, string, int) | Appends a parameter of string type to the current StringBuilder. Back-ends that support semantic logging may store the parameter value semantically instead of appending it to the StringBuilder. |
| AppendSemanticParameter<T>(SemanticParameterKind, ArraySegment<char>, T, IFormatter<T>, string, int) | Appends a parameter to the current StringBuilder, where the name is given as a ArraySegment<T>, and uses a specific formatter. Back-ends that support semantic logging may store the parameter value semantically instead of appending it to the StringBuilder. |
| AppendSemanticParameter<T>(SemanticParameterKind, string, T, IFormatter<T>, string, int) | Appends a parameter to the current StringBuilder, where the name is given as a string, and uses a specific formatter. Back-ends that support semantic logging may store the parameter value semantically instead of appending it to the StringBuilder. This method overload is strongly typed. |
| AppendSourceLineInfo() | Appends source (file, line) information to the current StringBuilder. |
| AppendSpaces(int) | Appends a given number of spaces to the current StringBuilder. |
| AppendSpecialChar(char) | Appends a special char (which may require escaping with specific back-ends) to the current StringBuilder. |
| AppendTrailingPeriod() | Appends a trailing period ( |
| AppendTypeName() | Appends the name of the TypeSource to the current StringBuilder. |
| BeginCustomRecord(LoggingContext, ref CustomLogRecordInfo) | Initializes the current LogRecordBuilder to emit a custom record. |
| BeginRecord(LoggingContext, ref LogRecordInfo, ref LogMemberInfo) | Initializes the current LogRecordBuilder to emit a standard (i.e. non-custom) record for a given context and method. |
| BeginWriteItem(CustomLogRecordItem, in CustomLogRecordTextOptions) | Begins to build a specified item. |
| Dispose() | Finishes the logging of the current record. Calling this method does not actually make the current LogRecordBuilder unusable, but it makes it usable for a next record in the same thread. |
| EmitRecord() | Emits the record. Invoked by the Complete() method. |
| EmitRecord(bool) | Emits the record and specifies whether exception details should be appended to the text. |
| EndContextDescription() | Ends building the context Description and starts building the action text. |
| EndContextDescriptionConditional() | Switches between building the context Description and the action text. If the EndContextDescriptionConditional() method has been previously invoked, subsequent calls are ignored. |
| EndWriteItem(CustomLogRecordItem) | Ends building a specified item. |
| GetContextDescription() | Gets the context Description or the TypeSource name, if the type of the context is not equal to the source type of the record. |
| GetContextDescriptionUnsafe() | Gets an UnsafeString representing the context Description or the TypeSource name, if the type of the context is not equal to the source type of the record. |
| GetContextForDescription() | Gets the LoggingContext that should be used when getting or appending the Description. |
| GetSourceName() | Gets the name of the TypeSource for the current record, respecting the IncludeNamespace property. |
| HasRecordKindName() | Determines whether the AppendRecordKind() will append anything for the current record. |
| MustBuildContextDescription() | Determines whether the current Description should be appended to the current StringBuilder. |
| RequireComma() | Requires the next call to AppendCommaConditional() to append a comma even. |
| RequireDelimiter() | Causes the next call to the AppendDelimiterConditional() to append a Delimiter to the current StringBuilder. |
| RequirePunctuation(char) | Requires the next call to AppendCommaConditional() to append a specific punctuation character. |
| Reset() | Resets all fields and properties of the current LogRecordBuilder to their initial value. Invoked by the Complete() method. |
| SetException(Exception) | Sets the exception for the method or activity. |
| SetExecutionTime(double, bool) | Sets the method or activity execution time. |
| SetParameter<T>(int, string, ParameterKind, string, T, IFormatter<T>) | Sets the value of a given parameter and specifies the Formatter<T>. |
| SetReturnValue<T>(int, string, string, T, IFormatter<T>) | Sets a given return value (there can be several return values in C# 7.0) and uses a given formatter. |
| SetThis<T>(T, IFormatter<T>) | Sets the |
| ShouldLogExceptionDetails() | Determines whether exception details should be appended to the text of the current StringBuilder. |
| ToString() | |
| Write(UnsafeString) | Writes the final message to the back-end. |
| WriteCustomParameter<T>(int, in CharSpan, T, in CustomLogParameterOptions, IFormatter<T>) | Writes a custom parameter (passed as an CharSpan) and uses a given formatter. |
| WriteCustomParameter<T>(int, ArraySegment<char>, T, IFormatter<T>) | Writes a custom parameter (passed as an |
| WriteCustomString(in CharSpan) | Write a custom string passed as an CharSpan. |
| WriteCustomString(ArraySegment<char>) | Write a custom string passed as an |
| WriteProperty(LoggingProperty, object, int) | Appends the name and value of a property to the current StringBuilder. |
| WriteProperty<T>(string, T, int, in LoggingPropertyOptions) | Appends the name and value of a property to the current StringBuilder. |