Poprawność skladni - czy jest dobrze ?

0

Witam.

Pisze programik do łączenia się z ElasticSearch.

na stronie znalazłem opis jak trzeba to zrobić i wygląda to tak:

 
private void button1_Click(object sender, EventArgs e)
        {
		var Polaczenie = new Uri("http://localhost:9200");
		var Settings = new ConnectionSettings(Polaczenie, defaultIndex: "logsystem");
		var Klient = new ElasticClient(Settings);
           
		for (var i = 1; i <= 50; i++)
		{
   			var Log = new Log("1", "2016-02-06T09:01:01", "INFO", "tekst");
   			var index = Klient.Index(Log);
		}
	}
 public class Log
        {
            public string id { get; set; }
            public string date { get; set; }
            public string type { get; set; }
            public string content { get; set; }
            public Log(string id, string date, string type, string content)
            {
                this.id = id;
                this.date = date;
                this.type = type;
                this.content = content;
            }

Tylko jak tak to zrobię to obiekty Uri, ConnectionSettings i ElasticClient są widoczne tylko w zdarzeniu buttona.

zmodyfikowałem sobie kod aby w/w obiekty były widziane w całym programie natomiast wysyłanie logów zrobiłem w zdarzeniu timelog_Tick

namespace GeneratorLog
{
    public partial class Form1 : Form
    {
   
        Uri Polaczenie;
        ConnectionSettings Settings;
        ElasticClient Klient;
        Log LogTxt;
       
        String TypText, InfoText, InfoMilisekunda, SendLog, DataText, IDText;
       
        public Form1()
        {
            InitializeComponent();
        }

private void button1_Click(object sender, EventArgs e)
        {
                ViewLog.Clear();
                TextIP.Enabled = false;
                TextPort.Enabled = false;
           
                Polaczenie = new Uri("http://"+TextIP.Text+":"+TextPort.Text);
                Settings = new ConnectionSettings(Polaczenie, defaultIndex: "genlog");
                Klient = new ElasticClient(Settings);
         }

private void TimeLog_Tick(object sender, EventArgs e)
        {   
            IDText = ("1");
            DataText = (System.DateTime.Now);
            TypText = "INFO   ";
            InfoText = ("Informacja");

            LogTxt = new Log(IDText, DataText, TypText, InfoText);
            Klient.Index(LogTxt);
        }

public class Log
        {
            public string id { get; set; }
            public string date { get; set; }
            public string type { get; set; }
            public string content { get; set; }
            public Log(string id, string date, string type, string content)
            {
                this.id = id;
                this.date = date;
                this.type = type;
                this.content = content;
            }

 

i teraz nie wiem czy to jest poprawnie ;-( - program się kompiluje i uruchamia ale logi nie są wysyłane i nie wiem czy program działa poprawnie czy logi są nieprawidłowe.

1

Jak program się kompiluje to składnia jest poprawna :P

0

Tylko pytanie czy pierwszy listing działa tak samo jak drugi (nie wnikając juiz w to ze pierwszy wysyla 50 logow w petli ) a drugi wysyla caly czas z odstępami czasowymi Timer.Delay.

czy oprócz takiej roznicy program tak samo wysyla LogText?

0

Tak samo

0

To może ktoś zna sie na Elasticsearch bo mój programi wlasnie generuje logi do tego ElasticSearch, a za chiny nie wiem czy to dobrze działa

mam taki log w elasticSearch

[2016-02-06 23:05:06,590][INFO ][cluster.metadata         ] [Korvac] [genlog] deleting index
[2016-02-06 23:05:07,125][INFO ][cluster.metadata         ] [Korvac] [genlog] creating index, cause [auto(index api)], templates [], shards [5]/[1], mappings [log]
[2016-02-06 23:05:07,905][INFO ][cluster.metadata         ] [Korvac] [genlog] update_mapping [log]
[2016-02-06 23:07:27,304][INFO ][cluster.metadata         ] [Korvac] closing indices [[genlog]]
 

i tylko tyle, natomiast nie wiem gdzie się znajdują logi, które wysyłam :-(

uruchomiłem kibane i z poziomu przeglądarki (http://localhost:5601) próbowałem coś znaleźć ale tam to już w ogolę nawet nie wiem jak to szukać :-(

1 użytkowników online, w tym zalogowanych: 0, gości: 1