Documentation
¶
Index ¶
- Constants
- Variables
- type BackgroundEvent
- type BackgroundEventStruct
- func (b *BackgroundEventStruct) Critical(codeMessage int, paramsMessage ...string) Event
- func (b *BackgroundEventStruct) Debug(codeMessage int, paramsMessage ...string) Event
- func (b *BackgroundEventStruct) Error(codeMessage int, paramsMessage ...string) Event
- func (b *BackgroundEventStruct) Info(codeMessage int, paramsMessage ...string) Event
- func (b *BackgroundEventStruct) Warning(codeMessage int, paramsMessage ...string) Event
- type Event
- type EventStruct
- func (e *EventStruct) AddContext(context map[string]interface{}) Event
- func (e *EventStruct) AddError(err error, httpStatus int) Event
- func (e *EventStruct) Error() string
- func (e *EventStruct) ToJson() ([]byte, error)
- func (e *EventStruct) WriteToDataBase() error
- func (e *EventStruct) WriteToStdOut()
- type FrontError
- type Level
- type Logger
- type LoggerStruct
- func (l *LoggerStruct) AddLogServiceAPI(urlAPI string) Logger
- func (l *LoggerStruct) AddServiceName(serviceName string) Logger
- func (l *LoggerStruct) AddUserId(userId int) Logger
- func (l *LoggerStruct) GetStatusHTTP() int
- func (l *LoggerStruct) InitBackgroundEventStruct(packet, function string) (BackgroundEvent, error)
- func (l *LoggerStruct) SendToLogService() error
- func (l *LoggerStruct) ToFrontendJson() ([]byte, error)
- func (l *LoggerStruct) ToJson() ([]byte, error)
- func (l *LoggerStruct) WriteToStdOut()
Constants ¶
const ( Code_NoCode = 0 Code_ErrorStarting__NameService__Service = 1 // Ошибка запуска %s сервиса. Code_ErrorInitializingConfiguration = 2 // Ошибка инициализации конфигурации. Code_ErrorInitializingRepository = 3 // Ошибка инициализации репозитория. Code_ErrorConnectingToDatabase__NameDB__ = 20 // Ошибка подключения к БД %s. Code_ConnectionToDataBase__NameDB__IsNotSupported = 21 // Подключение к БД %s не поддерживается. Code_ErrorSendingGETrequest = 1001 // Ошибка отправки GET запроса. Code_ErrorSendingPOSTrequest = 1002 // Ошибка отправки POST запроса. Code_ErrorSendingPUTrequest = 1003 // Ошибка отправки PUT запроса. Code_ErrorSendingPATCHrequest = 1004 // Ошибка отправки PATCH запроса. Code_ErrorSendingDELETErequest = 1005 // Ошибка отправки DELETE запроса. Code_ErrorSendingCOPYrequest = 1006 // Ошибка отправки COPY запроса. Code_ErrorSendingHEADrequest = 1007 // Ошибка отправки HEAD запроса. Code_ErrorSendingOPTIONSrequest = 1008 // Ошибка отправки OPTIONS запроса. Code_ErrorSendingLINKrequest = 1009 // Ошибка отправки LINK запроса. Code_ErrorSendingUNLINKrequest = 1010 // Ошибка отправки UNLINK запроса. Code_ErrorSendingPURGErequest = 1011 // Ошибка отправки PURGE запроса. Code_ErrorSendingLOCKrequest = 1012 // Ошибка отправки LOCK запроса. Code_ErrorSendingUNLOCKrequest = 1013 // Ошибка отправки UNLOCK запроса. Code_ErrorSendingPROPFINDrequest = 1014 // Ошибка отправки PROPFIND запроса. Code_ErrorSendingVIEWrequest = 1015 // Ошибка отправки VIEW запроса. Code_ProxyError = 1020 // Ошибка проксирования. Code_JsonEncodingError = 1050 // Ошибка кодирования в JSON. Code_ErrorDecodingJson = 1051 // Ошибка декодирования JSON. Code_ErrorReadingRequestBody = 1052 // Ошибка чтения тела запроса. Code_ErrorUpgradingHTTPconnectionToWebSocket = 1054 // Ошибка обновления соединения HTTP до Web-Socket. Code_ErrorReadingMessageFromWebSocketConnection = 1055 // Ошибка чтения сообщения из Web-Socket соединения. Code_WebSocketConnectionNotFound = 1056 // Web-Socket соединение не найдено. Code_ErrorClosingWebSocketConnection = 1057 // Ошибка закрытия Web-Socket соединения. Code_ErrorCreatingDirectory = 1078 // Ошибка создания каталога. Code_FileDeletionError = 1079 // Ошибка удаления файла. Code_ErrorOpeningFile = 1080 // Ошибка открытия файла. Code_ProjectNotFound = 1081 // Проект не найден. Code_ErrorGettingLaunchPath = 1082 // Ошибка получения пути запуска. Code_ErrorTransferringFile = 1083 // Ошибка при передаче файла. Code_InvalidRefreshToken = 1097 // Некорректный Refresh токен. Code_InvalidAccessToken = 1098 // Некорректный Access токен. Code_EmptyRefreshToken = 1099 // Пустой Refresh токен. Code_EmptyAccessToken = 1100 // Пустой Access токен. Code_TheProjectIdParameterIsEmpty = 1101 // Параметр projectId пуст. Code_TheUserIdParameterIsEmpty = 1102 // Параметр userId пуст. Code_TheUserIdHeaderIsEmpty = 1103 // Заголовок userId пуст. Code_TheServiceKeyParameterIsEmpty = 1104 // Параметр serviceKey пуст. Code_ProjectItemsAreEmpty = 1105 // Элементы проекта пусты. Code_TheSchemaHasAnUnsupportedElementType = 1106 // В схеме есть неподдерживаемый тип элемента. Code_AtTheInputPortTheOutputInformation = 1107 // У входного порта информация выходного. Code_TheLinkRefersToANonExistentElement = 1108 // Связь обращается к несуществующему элементу. Code_TheLinkAccessesANonExistentElementPort = 1109 // Связь обращается к несуществующему порту элемента. Code_AnInputPortHasAnOutputElement = 1110 // У входного порта есть выходной элемент. Code_AnUnsupportedLibraryTypeWasSpecified = 1111 // Указан неподдерживаемый тип библиотеки. Code_UnknownSolverType = 1112 // Неизвестный тип решателя. Code_TheSelectorChannelIsClosed = 1150 // Канал Селектора закрыт. Code_TheTrendChannelIsClosed = 1151 // Канал трендов закрыт. Code_TheProjectIdParameterIsInvalid = 1201 // Параметр projectId невалиден. Code_TheUserIdParameterIsInvalid = 1202 // Параметр userId невалиден. Code_TheUserIdHeaderIsInvalid = 1203 // Заголовок userId невалиден. Code_TheServiceKeyParameterIsInvalid = 1203 // Параметр serviceKey невалиден. Code_ErrorConvertingStringToInt = 1210 // Ошибка конвертации string в int. Code_ErrorParsingAddressToRedirectRequest = 1211 // Ошибка парсинга адресса для перенаправления запроса. Code_ErrorWritingToDatabase = 3001 // Ошибка записи в БД. Code_SuccessfulConfigurationInitialization = 5001 // Успешная инициализация конфигурации. Code_SuccessfulRepositoryInitialization = 5002 // Успешная инициализации репозитория. Code_SuccessfulRoutingInitialization = 5003 // Успешная инициализации роутинга. Code_SuccessfulConnectionToTheDatabase__NameDB__ = 5004 // Успешное подключение к БД %v. Code_SuccessfulWriteToTheDataBase = 5005 // Успешная запись в БД. Code_SuccessfulLaunchOfTheProjectForCalculation = 5006 // Успешный запуск проекта на расчет. Code_SuccessfulLaunchOfTheSelector = 5007 // Успешный запуск Селектора. Code_SuccessfulLaunchOfTrends = 5008 // Успешный запуск Трендов. Code_SuccessfulClosingOfTheSelectorChannel = 5009 // Успешное закрытие канала Селектора. Code_SuccessfulClosingOfTheTrendChannel = 5010 // Успешное закрытие канала Трендов. Code_SuccessfulSettingOfTrendParameters = 5011 // Успешная установка параметров трендов. Code_SuccessfullySettingANewValueToTheParameter = 5012 // Успешная установка нового значения параметру. Code_SuccessfulDecodingOfTheRequest = 5013 // Успешное декодирование запроса. Code_SuccessfullySettingANewVariableValue = 5014 // Успешная установка нового значения переменной. Code_SuccessfulShutdownOfTheProject = 5050 // Успешная остановка проекта. Code_SuccessfulCreationOfTheNoNameFile = 5100 // Успешное создание NoName файла. Code_SuccessfulFileTransfer = 5101 // Успешная передача файлов. Code_StartingAWebSocketConnection = 8001 // Старт подключения Web-Socket соединения. )
Variables ¶
var MapCodes = map[int]string{
0: "No code.",
1: "Error starting %v service.",
2: "Configuration initialization error.",
3: "Error initializing repository.",
20: "Error connecting to database %v.",
21: "Connection to database %v is not supported.",
1000: "Reserve",
1001: "Error sending GET request.",
1002: "Error sending POST request.",
1003: "Error sending PUT request.",
1004: "Error sending PATCH request.",
1005: "Error sending DELETE request.",
1006: "Error sending COPY request.",
1007: "Error sending HEAD request.",
1008: "Error sending OPTIONS request.",
1009: "Error sending LINK request.",
1010: "Error sending UNLINK request.",
1011: "Error sending PURGE request.",
1012: "Error sending LOCK request.",
1013: "Error sending UNLOCK request.",
1014: "Error sending PROPFIND request.",
1015: "Error sending VIEW request.",
1020: "Proxy error.",
1050: "JSON encoding error.",
1051: "Error decoding JSON.",
1052: "Error reading request body.",
1054: "Error upgrading HTTP connection to Web-Socket.",
1055: "Error reading message from Web-Socket connection.",
1056: "Web-Socket connection not found.",
1057: "Error closing Web-Socket connection.",
1078: "Error creating directory.",
1079: "File deletion error.",
1080: "Error opening file.",
1081: "Project not found.",
1082: "Error getting launch path",
1083: "Error transferring file.",
1097: "",
1099: "Empty Refresh token.",
1100: "Empty Access token.",
1101: "The projectId parameter is empty.",
1102: "The userId parameter is empty.",
1103: "The userId header is empty.",
1104: "The serviceKey parameter is empty.",
1105: "Project items are empty.",
1106: "The schema has an unsupported element type.",
1107: "At the input port, the output information",
1108: "The link refers to a non-existent element.",
1109: "The link accesses a non-existent element port.",
1110: "An input port has an output element.",
1111: "An unsupported library type was specified.",
1112: "Unknown solver type.",
1150: "The Selector channel is closed.",
1151: "The Trend Channel is closed.",
1201: "The projectId parameter is invalid",
1202: "The userId parameter is invalid",
1203: "The userId header is invalid",
1204: "The serviceKey parameter is invalid",
1210: "Error converting string to int.",
1211: "Error parsing address to redirect request.",
3000: "Reserve",
3001: "Error writing to database.",
4000: "Reserve",
5000: "Reserve",
5001: "Successful configuration initialization.",
5002: "Successful repository initialization.",
5003: "Successful routing initialization.",
5004: "Successful connection to the database %v.",
5005: "Successful write to the database.",
5006: "Successful launch of the project for calculation.",
5007: "Successful launch of the Selector.",
5008: "Successful launch of Trends.",
5009: "Successful closing of the Selector channel.",
5010: "Successful closing of the Trend channel.",
5011: "Successful setting of trend parameters.",
5012: "Successfully setting a new value to the parameter.",
5013: "Successful decoding of the request.",
5014: "Successfully setting a new variable value.",
5050: "Successful shutdown of the project.",
5100: "Successful creation of the NoName file.",
5101: "Successful file transfer.",
8001: "Starting a Web-Socket connection.",
}
Соотношение кода к сообщению.
Functions ¶
This section is empty.
Types ¶
type BackgroundEvent ¶
type BackgroundEvent interface { Critical(codeMessage int, paramsMessage ...string) Event Error(codeMessage int, paramsMessage ...string) Event Warning(codeMessage int, paramsMessage ...string) Event Info(codeMessage int, paramsMessage ...string) Event Debug(codeMessage int, paramsMessage ...string) Event }
type BackgroundEventStruct ¶
type BackgroundEventStruct struct { Logger *LoggerStruct Package string // Название пакета. Function string // Название функции. }
Структура события.
func (*BackgroundEventStruct) Critical ¶
func (b *BackgroundEventStruct) Critical(codeMessage int, paramsMessage ...string) Event
func (*BackgroundEventStruct) Debug ¶
func (b *BackgroundEventStruct) Debug(codeMessage int, paramsMessage ...string) Event
func (*BackgroundEventStruct) Error ¶
func (b *BackgroundEventStruct) Error(codeMessage int, paramsMessage ...string) Event
type Event ¶
type Event interface { // Добавление информацию об оригинальной ошибке и http статусе. AddError(err error, httpStatus int) Event // Добавление контекста. AddContext(context map[string]interface{}) Event // Получение оригинальной ошибки в формате string. Error() string // Получение события в формате Json. ToJson() ([]byte, error) // Отправка события в сервис логирования, при неудаче - запись в StdOut. // Дублирование событий тип WARNING, ERROR, CRITICAL в StdOut. WriteToDataBase() error // Вывод EventStruct в StdOut в формате Json. WriteToStdOut() }
type EventStruct ¶
type EventStruct struct { LogServiceAPI string `json:"logServiceAPI,omitempty"` // API сервиса логирования. UserId int `json:"userId"` // ID пользователя. CreatedAt string `json:"createdAt"` // Дата создания. Level string `json:"level"` // Уровень. Service string `json:"service"` // Название сервсиса. Package string `json:"package"` // Название пакета. Function string `json:"function"` // Название функции. Code int `json:"code"` // Код события. Message string `json:"message"` // Сообщение. ParamsMessage []string `json:"paramsMessage,omitempty"` // Параметры для сообщения. Context map[string]interface{} `json:"context,omitempty"` // Контекст (дополнительный данные). OriginalError string `json:"originalError,omitempty"` // Оригинальная ошибка от стороних пакетов. StatusHTTP int `json:"statusHTTP,omitempty"` // Код HTTP ответа. (200, 400, 404, 500...) }
Данные события
func (*EventStruct) AddContext ¶
func (e *EventStruct) AddContext(context map[string]interface{}) Event
Добавление контекста.
func (*EventStruct) AddError ¶
func (e *EventStruct) AddError(err error, httpStatus int) Event
Добавление информацию об оригинальной ошибке и http статусе.
func (*EventStruct) Error ¶
func (e *EventStruct) Error() string
Получение оригинальной ошибки в формате string.
func (*EventStruct) ToJson ¶
func (e *EventStruct) ToJson() ([]byte, error)
Получение события в формате Json.
func (*EventStruct) WriteToDataBase ¶
func (e *EventStruct) WriteToDataBase() error
Отправка события в сервис логирования, при неудаче - запись в StdOut. Дублирование событий тип WARNING, ERROR, CRITICAL в StdOut.
func (*EventStruct) WriteToStdOut ¶
func (e *EventStruct) WriteToStdOut()
Вывод EventStruct в StdOut в формате Json.
type FrontError ¶
type FrontError struct { Code int `json:"code"` // Код ошибки. Message string `json:"message"` // Сообщение ошибки. Params []string `json:"params,omitempty"` // Параметры сообщения. Field interface{} `json:"field,omitempty"` // Поле(ключ) Json в котором произошла ошибка. }
Структура ошибки в формате для Фронтенд.
type Logger ¶
type Logger interface { // Добавление API сервиса логирования. AddLogServiceAPI(urlAPI string) Logger // Добавление UserID в logger. AddUserId(userId int) Logger // Добавление имени сервиса в logger. AddServiceName(serviceName string) Logger // Инициализация BackgroundEventStruct. (Родитель событий). InitBackgroundEventStruct(packet, function string) (BackgroundEvent, error) // Отправка в сервис логирования. SendToLogService() error // Вывод logger в StdOut в формате Json. WriteToStdOut() // Получение logger с трасировкой событий в формате Json. ToJson() ([]byte, error) // Форматирование logger в формат приемлемый для фронтенда. ToFrontendJson() ([]byte, error) // Получение HTTP статуса logger (статус крайнего события). GetStatusHTTP() int }
type LoggerStruct ¶
type LoggerStruct struct { LogLevel Level `json:"logLevel,omitempty"` // Уровень логирования. LogServiceAPI string `json:"logServiceAPI,omitempty"` // API сервиса логирования. UserId int `json:"-"` // ID пользователя. Service string `json:"-"` // Название сервсиса. Events []*EventStruct `json:"events,omitempty"` // Массив событий. }
Структура логера.
func (*LoggerStruct) AddLogServiceAPI ¶
func (l *LoggerStruct) AddLogServiceAPI(urlAPI string) Logger
Добавление API сервиса логирования.
func (*LoggerStruct) AddServiceName ¶
func (l *LoggerStruct) AddServiceName(serviceName string) Logger
Добавление имени сервиса в logger.
func (*LoggerStruct) AddUserId ¶
func (l *LoggerStruct) AddUserId(userId int) Logger
Добавление UserID в logger.
func (*LoggerStruct) GetStatusHTTP ¶
func (l *LoggerStruct) GetStatusHTTP() int
Получение HTTP статуса logger (статус крайнего события).
func (*LoggerStruct) InitBackgroundEventStruct ¶
func (l *LoggerStruct) InitBackgroundEventStruct(packet, function string) (BackgroundEvent, error)
Инициализация BackgroundEventStruct. (Родитель событий).
func (*LoggerStruct) SendToLogService ¶
func (l *LoggerStruct) SendToLogService() error
Отправка в сервис логирования.
func (*LoggerStruct) ToFrontendJson ¶
func (l *LoggerStruct) ToFrontendJson() ([]byte, error)
Форматирование событий в формат приемлемый для фронтенда.
func (*LoggerStruct) ToJson ¶
func (l *LoggerStruct) ToJson() ([]byte, error)
Получение logger с трасировкой событий в формате Json.
func (*LoggerStruct) WriteToStdOut ¶
func (l *LoggerStruct) WriteToStdOut()
Вывод logger в StdOut в формате Json.