mirror of
https://github.com/postmannen/ctrl.git
synced 2024-12-14 12:37:31 +00:00
Added fileExtension type to message
This commit is contained in:
parent
23b6b58439
commit
b08dd4558e
8 changed files with 26 additions and 23 deletions
|
@ -1,6 +1,7 @@
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
"directory": "random_text_log",
|
"directory": "random_text_log",
|
||||||
|
"fileExtension": "log",
|
||||||
"toNode": "central",
|
"toNode": "central",
|
||||||
"data": ["some message sent from a ship for testing\n"],
|
"data": ["some message sent from a ship for testing\n"],
|
||||||
"commandOrEvent":"EventACK",
|
"commandOrEvent":"EventACK",
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
"directory":"cli_command__result",
|
"directory":"cli_command__result",
|
||||||
|
"fileExtension": "result",
|
||||||
"toNode": "ship1",
|
"toNode": "ship1",
|
||||||
"data": ["bash","-c","sleep 3 & tree ./"],
|
"data": ["bash","-c","sleep 3 & tree ./"],
|
||||||
"method":"REQCliCommand",
|
"method":"REQCliCommand",
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
"directory": "metrics/network/sniffer",
|
"directory": "metrics/network/sniffer",
|
||||||
"toNode": "ship1",
|
"fileExtension": "html",
|
||||||
|
"toNode": "ship2",
|
||||||
"data": ["http://vg.no"],
|
"data": ["http://vg.no"],
|
||||||
"method":"REQHttpGet",
|
"method":"REQHttpGet",
|
||||||
"timeout":10,
|
"timeout":10,
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
"directory":"opcommand_logs",
|
"directory":"opcommand_logs",
|
||||||
|
"fileExtension": "log",
|
||||||
"toNode": "ship1",
|
"toNode": "ship1",
|
||||||
"data": ["ps"],
|
"data": ["ps"],
|
||||||
"method":"REQOpCommand",
|
"method":"REQOpCommand",
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
"directory": "ping",
|
"directory": "ping",
|
||||||
|
"fileExtension":"ping.log",
|
||||||
"toNode": "ship1",
|
"toNode": "ship1",
|
||||||
"data": [""],
|
"data": [""],
|
||||||
"method":"REQPing",
|
"method":"REQPing",
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
|
"directory":"some-directory",
|
||||||
|
"fileExtension":"result",
|
||||||
"toNode": "ship1",
|
"toNode": "ship1",
|
||||||
"data": ["bash","-c","tree ../"],
|
"data": ["bash","-c","tree ../"],
|
||||||
"method":"REQnCliCommand",
|
"method":"REQnCliCommand",
|
||||||
|
|
|
@ -11,11 +11,6 @@ import (
|
||||||
// --- Message
|
// --- Message
|
||||||
|
|
||||||
type Message struct {
|
type Message struct {
|
||||||
// Directory is a string that can be used to create the
|
|
||||||
//directory structure when saving the result of some method.
|
|
||||||
// For example "syslog","metrics", or "metrics/mysensor"
|
|
||||||
// The type is typically used in the handler of a method.
|
|
||||||
Directory string `json:"directory" yaml:"directory"`
|
|
||||||
// The node to send the message to
|
// The node to send the message to
|
||||||
ToNode node `json:"toNode" yaml:"toNode"`
|
ToNode node `json:"toNode" yaml:"toNode"`
|
||||||
// The Unique ID of the message
|
// The Unique ID of the message
|
||||||
|
@ -35,7 +30,15 @@ type Message struct {
|
||||||
RequestRetries int `json:"requestRetries" yaml:"requestRetries"`
|
RequestRetries int `json:"requestRetries" yaml:"requestRetries"`
|
||||||
// Timeout for long a process should be allowed to operate
|
// Timeout for long a process should be allowed to operate
|
||||||
MethodTimeout int `json:"methodTimeout" yaml:"methodTimeout"`
|
MethodTimeout int `json:"methodTimeout" yaml:"methodTimeout"`
|
||||||
|
// Directory is a string that can be used to create the
|
||||||
|
//directory structure when saving the result of some method.
|
||||||
|
// For example "syslog","metrics", or "metrics/mysensor"
|
||||||
|
// The type is typically used in the handler of a method.
|
||||||
|
Directory string `json:"directory" yaml:"directory"`
|
||||||
|
// FileExtension is used to be able to set a wanted extension
|
||||||
|
// on a file being saved as the result of data being handled
|
||||||
|
// by a method handler.
|
||||||
|
FileExtension string `json:"fileExtension" yaml:"fileExtension"`
|
||||||
// PreviousMessage are used for example if a reply message is
|
// PreviousMessage are used for example if a reply message is
|
||||||
// generated and we also need a copy of thedetails of the the
|
// generated and we also need a copy of thedetails of the the
|
||||||
// initial request message
|
// initial request message
|
||||||
|
|
|
@ -288,20 +288,19 @@ func (m methodREQTextToLogFile) handler(proc process, message Message, node stri
|
||||||
|
|
||||||
// If it was a request type message we want to check what the initial messages
|
// If it was a request type message we want to check what the initial messages
|
||||||
// method, so we can use that in creating the file name to store the data.
|
// method, so we can use that in creating the file name to store the data.
|
||||||
fmt.Printf(" ** DEBUG: %v\n", message.PreviousMessage)
|
|
||||||
var fileName string
|
var fileName string
|
||||||
var folderTree string
|
var folderTree string
|
||||||
switch {
|
switch {
|
||||||
case message.PreviousMessage == nil:
|
case message.PreviousMessage == nil:
|
||||||
// If this was a direct request there are no previous message to take
|
// If this was a direct request there are no previous message to take
|
||||||
// information from, so we use the one that are in the current mesage.
|
// information from, so we use the one that are in the current mesage.
|
||||||
fileName = fmt.Sprintf("%v.%v.log", message.ToNode, message.Method)
|
fileName = fmt.Sprintf("%v.%v.%v", message.ToNode, message.Method, message.PreviousMessage.FileExtension)
|
||||||
folderTree = filepath.Join(proc.configuration.SubscribersDataFolder, message.Directory, string(message.FromNode))
|
folderTree = filepath.Join(proc.configuration.SubscribersDataFolder, message.Directory, string(message.FromNode))
|
||||||
case message.PreviousMessage.ToNode != "":
|
case message.PreviousMessage.ToNode != "":
|
||||||
fileName = fmt.Sprintf("%v.%v.log", message.PreviousMessage.ToNode, message.PreviousMessage.Method)
|
fileName = fmt.Sprintf("%v.%v.%v", message.PreviousMessage.ToNode, message.PreviousMessage.Method, message.PreviousMessage.FileExtension)
|
||||||
folderTree = filepath.Join(proc.configuration.SubscribersDataFolder, message.PreviousMessage.Directory, string(message.PreviousMessage.ToNode))
|
folderTree = filepath.Join(proc.configuration.SubscribersDataFolder, message.PreviousMessage.Directory, string(message.PreviousMessage.ToNode))
|
||||||
case message.PreviousMessage.ToNode == "":
|
case message.PreviousMessage.ToNode == "":
|
||||||
fileName = fmt.Sprintf("%v.%v.log", message.FromNode, message.Method)
|
fileName = fmt.Sprintf("%v.%v.%v", message.FromNode, message.Method, message.PreviousMessage.FileExtension)
|
||||||
folderTree = filepath.Join(proc.configuration.SubscribersDataFolder, message.PreviousMessage.Directory, string(message.PreviousMessage.ToNode))
|
folderTree = filepath.Join(proc.configuration.SubscribersDataFolder, message.PreviousMessage.Directory, string(message.PreviousMessage.ToNode))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -350,7 +349,6 @@ func (m methodREQTextToFile) handler(proc process, message Message, node string)
|
||||||
|
|
||||||
// If it was a request type message we want to check what the initial messages
|
// If it was a request type message we want to check what the initial messages
|
||||||
// method, so we can use that in creating the file name to store the data.
|
// method, so we can use that in creating the file name to store the data.
|
||||||
fmt.Printf(" ** DEBUG: %v\n", message.PreviousMessage)
|
|
||||||
var fileName string
|
var fileName string
|
||||||
var folderTree string
|
var folderTree string
|
||||||
switch {
|
switch {
|
||||||
|
@ -359,15 +357,12 @@ func (m methodREQTextToFile) handler(proc process, message Message, node string)
|
||||||
// information from, so we use the one that are in the current mesage.
|
// information from, so we use the one that are in the current mesage.
|
||||||
fileName = fmt.Sprintf("%v.%v.log", message.ToNode, message.Method)
|
fileName = fmt.Sprintf("%v.%v.log", message.ToNode, message.Method)
|
||||||
folderTree = filepath.Join(proc.configuration.SubscribersDataFolder, message.Directory, string(message.FromNode))
|
folderTree = filepath.Join(proc.configuration.SubscribersDataFolder, message.Directory, string(message.FromNode))
|
||||||
fmt.Printf(" ** DEBUG1: foldertree: %v\n", folderTree)
|
|
||||||
case message.PreviousMessage.ToNode != "":
|
case message.PreviousMessage.ToNode != "":
|
||||||
fileName = fmt.Sprintf("%v.%v.log", message.PreviousMessage.ToNode, message.PreviousMessage.Method)
|
fileName = fmt.Sprintf("%v.%v.%v", message.PreviousMessage.ToNode, message.PreviousMessage.Method, message.PreviousMessage.FileExtension)
|
||||||
folderTree = filepath.Join(proc.configuration.SubscribersDataFolder, message.PreviousMessage.Directory, string(message.PreviousMessage.ToNode))
|
folderTree = filepath.Join(proc.configuration.SubscribersDataFolder, message.PreviousMessage.Directory, string(message.PreviousMessage.ToNode))
|
||||||
fmt.Printf(" ** DEBUG2: foldertree: %v\n", folderTree)
|
|
||||||
case message.PreviousMessage.ToNode == "":
|
case message.PreviousMessage.ToNode == "":
|
||||||
fileName = fmt.Sprintf("%v.%v.log", message.FromNode, message.Method)
|
fileName = fmt.Sprintf("%v.%v.%v", message.FromNode, message.Method, message.PreviousMessage.FileExtension)
|
||||||
folderTree = filepath.Join(proc.configuration.SubscribersDataFolder, message.PreviousMessage.Directory, string(message.PreviousMessage.ToNode))
|
folderTree = filepath.Join(proc.configuration.SubscribersDataFolder, message.PreviousMessage.Directory, string(message.PreviousMessage.ToNode))
|
||||||
fmt.Printf(" ** DEBUG3: foldertree: %v\n", folderTree)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check if folder structure exist, if not create it.
|
// Check if folder structure exist, if not create it.
|
||||||
|
@ -439,20 +434,19 @@ func (m methodREQErrorLog) handler(proc process, message Message, node string) (
|
||||||
|
|
||||||
// If it was a request type message we want to check what the initial messages
|
// If it was a request type message we want to check what the initial messages
|
||||||
// method, so we can use that in creating the file name to store the data.
|
// method, so we can use that in creating the file name to store the data.
|
||||||
fmt.Printf(" ** DEBUG: %v\n", message.PreviousMessage)
|
|
||||||
var fileName string
|
var fileName string
|
||||||
var folderTree string
|
var folderTree string
|
||||||
switch {
|
switch {
|
||||||
case message.PreviousMessage == nil:
|
case message.PreviousMessage == nil:
|
||||||
// If this was a direct request there are no previous message to take
|
// If this was a direct request there are no previous message to take
|
||||||
// information from, so we use the one that are in the current mesage.
|
// information from, so we use the one that are in the current mesage.
|
||||||
fileName = fmt.Sprintf("%v.%v.log", message.ToNode, message.Method)
|
fileName = fmt.Sprintf("%v.%v.%v", message.ToNode, message.Method, message.PreviousMessage.FileExtension)
|
||||||
folderTree = filepath.Join(proc.configuration.SubscribersDataFolder, message.Directory, string(message.FromNode))
|
folderTree = filepath.Join(proc.configuration.SubscribersDataFolder, message.Directory, string(message.FromNode))
|
||||||
case message.PreviousMessage.ToNode != "":
|
case message.PreviousMessage.ToNode != "":
|
||||||
fileName = fmt.Sprintf("%v.%v.log", message.PreviousMessage.ToNode, message.PreviousMessage.Method)
|
fileName = fmt.Sprintf("%v.%v.%v", message.PreviousMessage.ToNode, message.PreviousMessage.Method, message.PreviousMessage.FileExtension)
|
||||||
folderTree = filepath.Join(proc.configuration.SubscribersDataFolder, message.PreviousMessage.Directory, string(message.PreviousMessage.ToNode))
|
folderTree = filepath.Join(proc.configuration.SubscribersDataFolder, message.PreviousMessage.Directory, string(message.PreviousMessage.ToNode))
|
||||||
case message.PreviousMessage.ToNode == "":
|
case message.PreviousMessage.ToNode == "":
|
||||||
fileName = fmt.Sprintf("%v.%v.log", message.FromNode, message.Method)
|
fileName = fmt.Sprintf("%v.%v.%v", message.FromNode, message.Method, message.PreviousMessage.FileExtension)
|
||||||
folderTree = filepath.Join(proc.configuration.SubscribersDataFolder, message.PreviousMessage.Directory, string(message.PreviousMessage.ToNode))
|
folderTree = filepath.Join(proc.configuration.SubscribersDataFolder, message.PreviousMessage.Directory, string(message.PreviousMessage.ToNode))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue