diff options
Diffstat (limited to 'java/broker/src/main/java/org/apache/qpid/server/logging/messages/LogMessages.properties')
-rw-r--r-- | java/broker/src/main/java/org/apache/qpid/server/logging/messages/LogMessages.properties | 323 |
1 files changed, 323 insertions, 0 deletions
diff --git a/java/broker/src/main/java/org/apache/qpid/server/logging/messages/LogMessages.properties b/java/broker/src/main/java/org/apache/qpid/server/logging/messages/LogMessages.properties new file mode 100644 index 0000000000..7159c6b02c --- /dev/null +++ b/java/broker/src/main/java/org/apache/qpid/server/logging/messages/LogMessages.properties @@ -0,0 +1,323 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# +# Default File used for all non-defined locales. +# +# LogMessages used within the Java Broker as originally defined on the wiki: +# http://cwiki.apache.org/confluence/display/qpid/Status+Update+Design#StatusUpdateDesign-InitialStatusMessages +# +# Technical Notes: +# This is a standard Java Properties file so white space is respected at the +# end of the lines. This file is processed in a number of ways. +# 1) ResourceBundle +# This file is loaded through a ResourceBundle named LogMessages. the en_US +# addition to the file is the localisation. Additional localisations can be +# provided and will automatically be selected based on the <locale> value in +# the config.xml. The default is en_US. +# +# 2) MessasgeFormat +# Each entry is prepared with the Java Core MessageFormat methods. Therefore +# most functionality you can do via MessageFormat can be done here: +# +# http://java.sun.com/javase/6/docs/api/java/text/MessageFormat.html +# +# The cavet here is that only default String and number FormatTypes can be used. +# This is due to the processing described in 3 below. If support for date, time +# or choice is requried then the GenerateLogMessages class should be updated to +# provide support. +# +# Format Note: +# As mentioned earlier white space in this file is very important. One thing +# in particular to note is the way MessageFormat peforms its replacements. +# The replacement text will totally replace the {xxx} section so there will be +# no addtion of white space or removal e.g. +# MSG = Text----{0}---- +# When given parameter 'Hello' result in text: +# Text----Hello---- +# +# For simple arguments this is expected however when using Style formats then +# it can be a little unexepcted. In particular a common pattern is used for +# number replacements : {0,number,#}. This is used in the Broker to display an +# Integer simply as the Integer with no formating. e.g new Integer(1234567) +# becomes the String "1234567" which is can be contrasted with the pattern +# without a style format field : {0,number} which becomes string "1,234,567". +# +# What you may not expect is that {0,number, #} would produce the String " 1234567" +# note the space after the ',' here /\ has resulted in a space /\ in +# the output. +# +# More details on the SubformatPattern can be found on the API link above. +# +# 3) GenerateLogMessage/Velocity Macro +# This is the first and final stage of processing that this file goes through. +# 1) Class Generation: +# The GenerateLogMessage processes this file and uses the velocity Macro +# to create classes with static methods to perform the logging and give us +# compile time validation. +# +# 2) Property Processing: +# During the class generation the message properties ({x}) are identified +# and used to create the method signature. +# +# 3) Option Processing: +# The Classes perform final formatting of the messages at runtime based on +# optional parameters that are defined within the message. Optional +# paramters are enclosed in square brackets e.g. [optional]. +# +# To provide fixed log messages as required by the Technical Specification: +# http://cwiki.apache.org/confluence/display/qpid/Operational+Logging+-+Status+Update+-+Technical+Specification#OperationalLogging-StatusUpdate-TechnicalSpecification-Howtoprovidefixedlogmessages +# +# This file is processed by Velocity to create a number of classes that contain +# static methods that provide LogMessages in the code to provide compile time +# validation. +# +# For details of what processing is done see GenerateLogMessages. +# +# What a localiser or developer need know is the following: +# +# The Property structure is important is it defines how the class and methods +# will be built. +# +# Class Generation: +# ================= +# +# Each class of messages will be split in to their own <Class>Messages.java +# Currently the following classes are created and are populated with the +# messages that bear their 3-digit type identifier: +# +# Class | Type +# ---------------------|-------- +# Broker | BKR +# ManagementConsole | MNG +# VirtualHost | VHT +# MessageStore | MST +# ConfigStore | CFG +# TransactionLog | TXN +# Connection | CON +# Channel | CHN +# Queue | QUE +# Exchange | EXH +# Binding | BND +# Subscription | SUB +# +# Property Format +# =============== +# The property format MUST adhere to the follow format to make it easier to +# use the logging API as a developer but also so that operations staff can +# easily locate log messages in the output. +# +# The property file should contain entries in the following format +# +# <Log Identifier, developer focused> = <Log Identifier, Operate focus> : <Log Message> +# +# eg: +# BRK_SHUTTING_DOWN = BRK-1003 : Shuting down : {0} port {1,number,#} +# +# Note: the developer focused identifier will become a method name so only a +# valid method name should be used. Currently only '-' are converted to '_'. +# +# That said properties generate the logging code at build time so any error +# can be easily identified. +# +# Property Processing: +# ==================== +# +# Each property is then processed by the GenerateLogMessages class to identify +# The number and type of parameters, {x} entries. Parameters are defaulted to +# String types but the use of FormatType number (e.g.{0,number}) will result +# in a Number type being used. These parameters are then used to build the +# method parameter list. e.g: +# Property: +# BRK_SHUTTING_DOWN = BRK-1003 : Shuting down : {0} port {1,number,#} +# becomes Method: +# public static LogMessage BRK_SHUTTING_DOWN(String param1, Number param2) +# +# This improves our compile time validation of log message content and +# ensures that change in the message format does not accidentally cause +# erroneous messages. +# +# Option Processing: +# ==================== +# +# Options are identified in the log message as being surrounded by square +# brackets ([ ]). These optional values can themselves contain paramters +# however nesting of options is not permitted. Identification is performed on +# first matchings so give the message: +# Msg = Log Message [option1] [option2] +# Two options will be identifed and enabled to select text 'option1 and +# 'option2'. +# +# The nesting of a options is not supported and will provide +# unexpected results. e.g. Using Message: +# Msg = Log Message [option1 [sub-option2]] +# +# The options will be 'option1 [sub-option2' and 'sub-option2'. The first +# option includes the second option as the nesting is not detected. +# +# The detected options are presented in the method signature as boolean options +# numerically identified by their position in the message. e.g. +# Property: +# CON-1001 = Open : Client ID {0} [: Protocol Version : {1}] +# becomes Method: +# public static LogMessage CON_1001(String param1, String param2, boolean opt1) +# +# The value of 'opt1' will show/hide the option in the message. Note that +# 'param2' is still required however a null value can be used if the optional +# section is not desired. +# +# Again here the importance of white space needs to be highlighted. +# Looking at the QUE-1001 message as an example. The first thought on how this +# would look would be as follows: +# QUE-1001 = Create : Owner: {0} [AutoDelete] [Durable] [Transient] [Priority: {1,number,#}] +# Each option is correctly defined so the text that is defined will appear when +# selected. e.g. 'AutoDelete'. However, what may not be immediately apparent is +# the white space. Using the above definition of QUE-1001 if we were to print +# the message with only the Priority option displayed it would appear as this: +# "Create : Owner: guest Priority: 1" +# Note the spaces here /\ This is because only the text between the brackets +# has been removed. +# +# Each option needs to include white space to correctly format the message. So +# the correct definition of QUE-1001 is as follows: +# QUE-1001 = Create : Owner: {0}[ AutoDelete][ Durable][ Transient][ Priority: {1,number,#}] +# Note that white space is included with each option and there is no extra +# white space between the options. As a result the output with just Priority +# enabled is as follows: +# "Create : Owner: guest Priority: 1" +# +# The final processing that is done in the generation is the conversion of the +# property name. As a '-' is an illegal character in the method name it is +# converted to '_' This processing gives the final method signature as follows: +# <Class>Message.<Type>_<Number>(<parmaters>,<options>) +# +# +# Default File used for all non-defined locales. +#Broker +# 0 - Version +# 1 = Build +BRK_STARTUP = BRK-1001 : Startup : Version: {0} Build: {1} +# 0 - Transport +# 1 - Port +BRK_LISTENING = BRK-1002 : Starting : Listening on {0} port {1,number,#} +# 0 - Transport +# 1 - Port +BRK_SHUTTING_DOWN = BRK-1003 : Shuting down : {0} port {1,number,#} +BRK_READY = BRK-1004 : Ready +BRK_STOPPED = BRK-1005 : Stopped +# 0 - path +BRK_CONFIG = BRK-1006 : Using configuration : {0} +# 0 - path +BRK_LOG_CONFIG = BRK-1007 : Using logging configuration : {0} + +#ManagementConsole +MNG_STARTUP = MNG-1001 : Startup +# 0 - Service +# 1 - Port +MNG_LISTENING = MNG-1002 : Starting : {0} : Listening on port {1,number,#} +# 0 - Service +# 1 - Port +MNG_SHUTTING_DOWN = MNG-1003 : Shuting down : {0} : port {1,number,#} +MNG_READY = MNG-1004 : Ready +MNG_STOPPED = MNG-1005 : Stopped +# 0 - Path +MNG_SSL_KEYSTORE = MNG-1006 : Using SSL Keystore : {0} +MNG_OPEN = MNG-1007 : Open : User {0} +MNG_CLOSE = MNG-1008 : Close + + +#VirtualHost +# 0 - name +VHT_CREATED = VHT-1001 : Created : {0} +VHT_CLOSED = VHT-1002 : Closed + +#MessageStore +# 0 - name +MST_CREATED = MST-1001 : Created : {0} +# 0 - path +MST_STORE_LOCATION = MST-1002 : Store location : {0} +MST_CLOSED = MST-1003 : Closed +MST_RECOVERY_START = MST-1004 : Recovery Start +MST_RECOVERED = MST-1005 : Recovered {0,number} messages +MST_RECOVERY_COMPLETE = MST-1006 : Recovery Complete + +#ConfigStore +# 0 - name +CFG-1001 = CFG-1001 : Created : {0} +# 0 - path +CFG-1002 = CFG-1002 : Store location : {0} +CFG-1003 = CFG-1003 : Closed +CFG-1004 = CFG-1004 : Recovery Start +CFG-1005 = CFG-1005 : Recovery Complete + +#TransactionLog +# 0 - name +TXN-1001 = TXN-1001 : Created : {0} +# 0 - path +TXN-1002 = TXN-1002 : Store location : {0} +TXN-1003 = TXN-1003 : Closed +# 0 - queue name +TXN-1004 = TXN-1004 : Recovery Start[ : {0}] +# 0 - count +# 1 - queue count +TXN-1005 = TXN-1005 : Recovered {0,number} messages for queue {1} +# 0 - queue name +TXN-1006 = TXN-1006 : Recovery Complete[ : {0}] + +#Connection +# 0 - Client id +# 1 - Protocol Version +CON_OPEN = CON-1001 : Open[ : Client ID : {0}][ : Protocol Version : {1}] +CON_CLOSE = CON-1002 : Close + +#Channel +CHN_CREATE = CHN-1001 : Create +# 0 - flow +CHN_FLOW = CHN-1002 : Flow {0} +CHN_CLOSE = CHN-1003 : Close +# 0 - bytes allowed in prefetch +# 1 - number of messagse. +CHN_PREFETCH_SIZE = CHN-1004 : Prefetch Size (bytes) {0,number} : Count {1,number} +# 0 - queue causing flow control +CHN_FLOW_ENFORCED = CHN-1005 : Flow Control Enforced (Queue {0}) +CHN_FLOW_REMOVED = CHN-1006 : Flow Control Removed + +#Queue +# 0 - owner +# 1 - priority +QUE_CREATED = QUE-1001 : Create :[ Owner: {0}][ AutoDelete][ Durable][ Transient][ Priority: {1,number,#}] +QUE_DELETED = QUE-1002 : Deleted +QUE_OVERFULL = QUE-1003 : Overfull : Size : {0,number} bytes, Capacity : {1,number} +QUE_UNDERFULL = QUE-1004 : Underfull : Size : {0,number} bytes, Resume Capacity : {1,number} + + +#Exchange +# 0 - type +# 1 - name +EXH_CREATED = EXH-1001 : Create :[ Durable] Type: {0} Name: {1} +EXH_DELETED = EXH-1002 : Deleted + +#Binding +BND_CREATED = BND-1001 : Create[ : Arguments : {0}] +BND_DELETED = BND-1002 : Deleted + +#Subscription +SUB_CREATE = SUB-1001 : Create[ : Durable][ : Arguments : {0}] +SUB_CLOSE = SUB-1002 : Close +# 0 - The current subscription state +SUB_STATE = SUB-1003 : State : {0} + |