Added API layer logging
This commit is contained in:
parent
544df78ac8
commit
76c3787107
@ -43,6 +43,11 @@
|
|||||||
url = {https://code.visualstudio.com/},
|
url = {https://code.visualstudio.com/},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@misc{nglog,
|
||||||
|
title = {Az NLog hivatalos oldala},
|
||||||
|
url = {https://nlog-project.org/},
|
||||||
|
}
|
||||||
|
|
||||||
@misc{react,
|
@misc{react,
|
||||||
title = {A React.js hivatalos oldala},
|
title = {A React.js hivatalos oldala},
|
||||||
url = {https://reactjs.org/},
|
url = {https://reactjs.org/},
|
||||||
|
@ -13,7 +13,7 @@ Ha a rendszer úgy észleli, hogy az egyik álatala vezérelt eszköz mikrofonja
|
|||||||
akkor riasztást kezdeményez az eszközön ezzel elijesztve a madarat ezáltal megóvva a növényzetet.
|
akkor riasztást kezdeményez az eszközön ezzel elijesztve a madarat ezáltal megóvva a növényzetet.
|
||||||
|
|
||||||
A rendszernek több kisebb komponense van, amelyek rengeteg adatot dolgoznak fel és nincs jelenleg egy olyan egységes grafikus felület ahol a rendszer teljes állapotát
|
A rendszernek több kisebb komponense van, amelyek rengeteg adatot dolgoznak fel és nincs jelenleg egy olyan egységes grafikus felület ahol a rendszer teljes állapotát
|
||||||
át lehetne tekinteni, illetve ahol a feldolgozott adatokat vizualizálni lehetne.
|
át lehetne tekinteni, ahol a feldolgozott adatokat vizualizálni lehetne.
|
||||||
|
|
||||||
A piacon létezik már több olyan szoftver csomag, amely hasonló problémákra próbál megoldást nyújtani, de ezek sem mindig
|
A piacon létezik már több olyan szoftver csomag, amely hasonló problémákra próbál megoldást nyújtani, de ezek sem mindig
|
||||||
tudják kielégíteni azokat a speciális igényeket, amelyek egy ilyen rendszernél felmerülnek.
|
tudják kielégíteni azokat a speciális igényeket, amelyek egy ilyen rendszernél felmerülnek.
|
||||||
@ -41,7 +41,7 @@ If the system detects a bird's voice on the recording of a microphone on one of
|
|||||||
an alarm on the device scaring the bird away thereby protecting the vegetation.
|
an alarm on the device scaring the bird away thereby protecting the vegetation.
|
||||||
|
|
||||||
The system has several smaller components that process a lot of data and currently there is no unified graphical user interface where the overall state of the system
|
The system has several smaller components that process a lot of data and currently there is no unified graphical user interface where the overall state of the system
|
||||||
could be reviewed or where the processed data could be visualized.
|
could be reviewed, where the processed data could be visualized.
|
||||||
|
|
||||||
There are already several software packages on the market that try to solve similar problems,
|
There are already several software packages on the market that try to solve similar problems,
|
||||||
however they aren't always able to meet the special needs that arise with such a system.
|
however they aren't always able to meet the special needs that arise with such a system.
|
||||||
|
@ -15,7 +15,6 @@ A szerveroldal fejlesztésénél a háromrétegú architektúrát alkalmaztam, m
|
|||||||
A fenti két réteg között helyezkedik el és feladata a különböző folyamatok értékelése és futtatása, valamint az adatok feldolgozása.
|
A fenti két réteg között helyezkedik el és feladata a különböző folyamatok értékelése és futtatása, valamint az adatok feldolgozása.
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
\lstset{language=C,keywordstyle={\bfseries \color{blue}}}
|
|
||||||
Az ASP.NET Core beépítetten támogatja a dependency injection-t, mely a \verb+Startup+ osztály \verb+ConfigureServices+ metódusával konfigurálható.
|
Az ASP.NET Core beépítetten támogatja a dependency injection-t, mely a \verb+Startup+ osztály \verb+ConfigureServices+ metódusával konfigurálható.
|
||||||
Én minden rétegbe tettem egy ilyen \verb+Startup+ osztályt, hogy azok feleljenek a saját szolgáltatásaik konfigurálásáért és regisztrálásáért.
|
Én minden rétegbe tettem egy ilyen \verb+Startup+ osztályt, hogy azok feleljenek a saját szolgáltatásaik konfigurálásáért és regisztrálásáért.
|
||||||
|
|
||||||
@ -90,12 +89,36 @@ ha igen, akkor a megadott jelszóból az imént említett folyamattal generált
|
|||||||
%----------------------------------------------------------------------------
|
%----------------------------------------------------------------------------
|
||||||
\section{Megjelenítési réteg}
|
\section{Megjelenítési réteg}
|
||||||
%----------------------------------------------------------------------------
|
%----------------------------------------------------------------------------
|
||||||
|
A fejezet elején említett \verb+Startup+ osztály ebben a rétegben található, itt kerülnek az egyes szolgáltatások regisztrálásra.
|
||||||
|
|
||||||
|
Többek között a naplózás is itt kerül inicializálásra, mely az NLog saját konfigurációs fájljával történik.
|
||||||
|
Meg lehet adni különböző szűrőket és kimeneteket, amellyel szelektálni lehet, hogy az egyes naplózott események hova kerüljenek.
|
||||||
|
Például az MQTT szolgáltalás napló bejegyzéseit a \ref{lst:nlog-config} lista alapján szűrtem.
|
||||||
|
Minden \verb+Debug+ szintől nagyobb és \verb+Error+ szinttől kisebb bejegyzés, mely tartalmazza az \verb+Mqtt+ kulcsszót az \verb+mqttFile+ azonosítójú fájlba kerül.
|
||||||
|
|
||||||
|
\lstset{style=xml, morekeywords={targets, target, xsi:type, name, fileName, layout, rules, logger, name, minlevel, maxlevel, writeTo, final}}
|
||||||
|
\begin{lstlisting}[caption=Az NLog.config fájl egy részlete, label=lst:nlog-config]
|
||||||
|
<targets>
|
||||||
|
...
|
||||||
|
<target xsi:type="File" name="mqttFile" fileName="${basedir}Logs/birdmap-mqtt-${shortdate}.log"
|
||||||
|
layout="..." />
|
||||||
|
...
|
||||||
|
</targets>
|
||||||
|
|
||||||
|
<rules>
|
||||||
|
...
|
||||||
|
<logger name="*.*Mqtt*.*" minlevel="Trace" maxlevel="Warning" writeTo="mqttFile" final="true"/>
|
||||||
|
...
|
||||||
|
</rules>
|
||||||
|
\end{lstlisting}
|
||||||
|
%
|
||||||
program.cs startup.cs
|
program.cs startup.cs
|
||||||
middlewares
|
middlewares
|
||||||
logolás
|
logolás
|
||||||
seedelés
|
seedelés
|
||||||
|
swagger
|
||||||
%----------------------------------------------------------------------------
|
%----------------------------------------------------------------------------
|
||||||
\subsection{Szolgáltatások}
|
\subsection{Kommunikációs Szolgáltatások}
|
||||||
%----------------------------------------------------------------------------
|
%----------------------------------------------------------------------------
|
||||||
mqtt
|
mqtt
|
||||||
signalR
|
signalR
|
||||||
|
@ -79,6 +79,12 @@ A szerver valós időben tud értesítéseket küldeni a kliensek számára, ame
|
|||||||
%----------------------------------------------------------------------------
|
%----------------------------------------------------------------------------
|
||||||
Az MQTT.NET is egy .NET szoftvercsomag, mely a Birdnetes által is használt, a \ref{subsect:mqtt}-es alfejezetben bemutatott MQTT kommunikáció C\# nyelvű megvalósítását szolgálja.
|
Az MQTT.NET is egy .NET szoftvercsomag, mely a Birdnetes által is használt, a \ref{subsect:mqtt}-es alfejezetben bemutatott MQTT kommunikáció C\# nyelvű megvalósítását szolgálja.
|
||||||
|
|
||||||
|
%----------------------------------------------------------------------------
|
||||||
|
\subsection{NLog}
|
||||||
|
%----------------------------------------------------------------------------
|
||||||
|
A szerveroldali naplózás megvalósítására több szoftvercsomag is létezik. Az NLog\cite{nlog}-ot választottam, egyrészt mert egyszerű a használata,
|
||||||
|
másrészt mert már használtam korábban.
|
||||||
|
|
||||||
%----------------------------------------------------------------------------
|
%----------------------------------------------------------------------------
|
||||||
\section{Frontend technológiák}
|
\section{Frontend technológiák}
|
||||||
%----------------------------------------------------------------------------
|
%----------------------------------------------------------------------------
|
||||||
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user