import "Domain.bond"
import "SeverityLevel.bond"

namespace AI

[Description("Instances of Message represent printf-like trace statements that are text-searched. Log4Net, NLog and other text-based log file entries are translated into intances of this type. The message does not have measurements.")]
struct MessageData
    : Domain
{
    [Description("Schema version")]
    10: required int32 	 ver = 2;
    
    [MaxStringLength("32768")]
    [Description("Trace message")]
    20: required string 	 message;
    
    [Description("Trace severity level.")]
    30: nullable<AI.SeverityLevel> 	 severityLevel;
    
    [Description("Collection of custom properties.")]
    [MaxKeyLength("150")]
    [MaxValueLength("8192")]
    100: map<string, string> 	 properties;
    
}
