LogQueryLanguageHelp = { "Log Query Language Quick Reference", "----------------------------------", "", "A query is constitued of a series of predicates combined by 'or' and 'and' logical operator.", "Each predicate is applied on each log, then the result combined to obtain a list of 'selected' log.", "", "General query format :", "", " (options) predicate (logicalCombiner predicate)*", "", "options format :", " option*", "", " Available option :", " - 'full_context' : extract all the log that are in the context of a ", " selected log", " - 'output_prefix='<prefix> : set a prefix for the result file of the query", "", "logicalCombiner format :", " Supported logical combiner are 'or' and 'and'.", " The 'and' combiner have the hightest priority over 'or'.", " You can also manually force the priority of combiner by", " grouping predicate with parenthesis.", " e.g : '(' predicate1 'or' predicate2 ')' 'and' predicate3'", " In this case, the 'or' between predicate1 and predicate2 is avaluated ", " before the 'and' with predicated3", "", "Predicate format :", " <paramName | paramType> <operator> <constant>", "", "ParamName format :", " Any parameter name that exist in a log. Any log that use this param name will", " be tested againts the predicate.", " e.g : userId", "", "", "ParamType format:", " You can test a predicate against any parameter of a given type, whatever it's name.", " '{' typeName '}'", " The available type names are :", " uint32, uint64, sint32, float, string, entityId, itemId, sheetId.", " Clearly, the entityId, itemId and sheetId are the most interesting.", "", "Operator format :", " All classicle operators are available:", " '<', '<=', '>', '>=', '=' (or '=='), '!=' and 'like'.", " The 'like' operator try to find the constant as a substring of the parameter.", "", "Constant format :", " Right part of a predicate are always constant.", " You can write constant of different type :", " uint32 : any decimal or hexacimal (prefixed with '0x')", " sint32 : any decimal prefixed with the minus sign '-'", " string : any list of characters surrounded by double quote", " entityId : an entity id as formated by NeL '(0x1234:12:34:56)'", " sheeId : any characters that can be considered as a sheet name (e.g 'foo.sitem')", " itemId : an item id as printed by the ryzom tool : '[123:0x123456:1234]'", "", "", "Special param name :", " There are threee hardcoded parameter name :", " 'LogName', 'LogDate' and 'ShardId'.", "", " 'LogName' is used to build query based on the name of the log instead of", " on the value of the parameters. e.g : 'LogName = '''Item_Create''' will select", " all logs of item creation.", "", " 'LogDate' is used to restrict the scope of the query on a limited time frame.", " LogDate accept date of the following format :", " - literal date : YYYY-MM-DD", " - literal date and time: YYYY-MM-DD HH:MM", " - literal date and time: YYYY-MM-DD HH:MM:SS", " - yesterday : 'yesterday'", " - some time ago : <count> secs|mins|hours|days|weeks|months|years", "", " e.g : 'LogDate > yesterday' -> any log from yesterday to now", " 'LogDate > 2 days' -> any log from 2 days ago to now", " 'LogDate < 3 weeks' -> any log older than 3 weeks", "", " 'ShardId' is used to select log from a specific shard. You must", " give a numeric shard id as predicate parameter. ", "", "", "", };