Prędzej czy później programista dowiaduje się o istotności logowania w swojej aplikacji. Najlepiej podejść do tematu w sposób „leniwy” tj. minimum wysiłku, maksimum efektów 😉. Elasticsearch i Kibana bardzo w tym pomagają. 16.01.2020 przedstawiłem swoje doświadczenia z tym związane na meetup-ie Warszawskiej Grupy .NET . Slajdy i kod znajdziesz tutaj: https://wiadrodanych.pl/wg-net-serilog-elk/Autor MaciejOpublikowano Kategorie Elasticsearch, Logowanie, Programowanie, Wystąpienia, Zbieranie logówTagi a...
Sztuka programowania 1753 dni, 11 godzin temu 77 źrodło rozwiń
Chyba każdy z nas używa logowania w swojej aplikacji. Jeśli jednak ktoś tego nie robi, to zachęcam zacząć. W innym przypadku może być mu trudno zareagować, kiedy coś się wysypie. Postaram się w kilku prostych krokach pokazać, jak dodać logowanie do naszej aplikacji z wykorzystaniem Serilog.
Ostatnio miałam okazję konfigurować logowanie w aplikacji. Użyłam do logowania paczki NLog. We wpisie opowiem, jak za pomocą jednego pliku skonfigurować loger.
Logowanie działania aplikacji jest bardzo przydatne podczas późniejszej analizy tego, co się stało. Na ogół prawie każda aplikacja loguje jakieś informacje. Niestety zauważyłem, że równie często nie do końca dobrze logujemy wiadomości. Jest to szczególnie widoczne w aplikacjach webowych (na przykład w ASP.NET MVC). Przy dużej liczbie użytkowników wiadomości z poszczególnych żądań są wymieszane między sobą, przez co ich późniejsza analiza jest bardzo utrudniona ...
Przemysław Walkowski Oryginalnie wpis miał się nazywać Log Driven Develompment ale okazało się, że już coś takiego istnieje, nie chce tu wchodzić w szczegóły, ale jak by co zapraszam pod link, gdyby kogoś to interesowało. Mój wpis będzie o moim pomyśle, który z powodzeniem stosuje od kliku lat w projektach. Mianowice o tworzenie kodu w oparciu o logi. Czyli zamiast debugowania, proponuje przestawić się na przeglądanie logów. Poniżej szczegóły i opis tego pomysłu.
Sztuka programowania 2227 dni, 11 godzin, 34 minuty temu 97 źrodło rozwiń
Wsparcie nLog dla korelacji logów - jeszcze fajniejsza sprawa niż te Contexty :)
Programowanie rozproszone 2809 dni, 1 godzinę, 16 minut temu 82 źrodło rozwiń
Walka! Tak wyglądały moje ostatnie 3 tygodnie pracy nad projektem isthereanynews.pl (jest już online). A z czym walczyłem? Z klasycznym, acz partyzanckim – u mnie działa.Social Modne i praktyczne, w zasadzie to drugie, jest logowanie się do różnego rodzaju serwisów przez użycie konta z G+, FB czy Twittera. Ja też tak chciałem – w ten sposób mogłem uciec od problemu trzymania hasła gdzieś u siebie i wszystkich problemów z tym związanych.#1 U siebie w projekcie korzystałem z samodzie...
Programowanie rozproszone 2895 dni, 10 godzin, 1 minutę temu 562 źrodło rozwiń
W tym wpisie postaram się krótko przedstawić blok bezpieczeństwa (Security Block) z biblioteki Microsoft Enterprise Library. Biblioteki tej użyjemy do sprawdzania rol i reguł dostępu do funkcji serwisu WCF. Najpierw oczywiście musimy pobrać bibliotekę Microsoft Enterprise Library, znajduje się ona pod tym adresem. http://www.microsoft.com/download/en/details.aspx?id=15104. Biblioteka ta jest również dostępna z poziomu NuGeta, jednakże instalacja poprzez ten plugin dorzuca do projektu tylko dll-ki. W p...
Silverlight 4677 dni, 10 godzin, 55 minut temu 61 źrodło rozwiń
W poprzednim wpisie przedstawiłem w jaki sposób zaimplementować mechanizm logowania po stronie serwera. Wykorzystałem do tego celu WCF RIA oraz znane z ASP MembershipProvidery. Tym razem przedstawię jak wymusić logowanie po stronie klienta, oraz w jaki sposób można dynamicznie zmieniać providerów, którzy walidują usera. Poprzednim razem stworzyliśmy już szkielet aplikacji, zatem mamy projekt klienta oraz projekt serwera. Zacznijmy od "włączenia" FormsAuthentication po stronie klienta. W pliku App.xaml.c...
Silverlight 4677 dni, 10 godzin, 55 minut temu 48 źrodło rozwiń
W dzisiejszym wpisie postaram się przedstawić moją koncepcję logowania do aplikacji Silverlightowej z wykorzystaniem MembershipProviders oraz własnego AuthenticationService. Zacznijmy od stworzenia bazy danych, w której będziemy przetrzymywać informacje o użytkownikach - hasła, role itp. Bazę danych stworzymy przy użyciu narzędzia aspnetregsql.exe, które to wygeneruje schemat bazy danych dostosowany do możliwości SqlMembershipProvider-a. aspnetregsql.exe znajduje się w katalogu C:\WINDOWS\Microsoft.NET...
Silverlight 4677 dni, 10 godzin, 55 minut temu 128 źrodło rozwiń
Na wstępie chciałbym przeprosić, że to tak długo trwało , ale ciężkie życie programisty nie zawsze pozwala mi znaleźć czas na częste blogowanie.W tej części mojego tutoriala zajmiemy się samą konfiguracją usługi log4net. Zasadniczo istnieją dwa możliwe podejścia do konfiguracji. Można stworzyć osobny plik konfiguracyjny i nazwać go np. log4net.config lub dodać sekcję do głównego pliku konfiguracyjnego aplikacji. Pierwszym przypadku należy samodzielnie odczytać plik za pomocą api konfiguracyjnego platform...
NHibernate posiada zmienną show_sql, której ustawienie na "true" powoduje wypluwanie na konsolę wszystkich SQLi idących do bazy. Zachciało mi się pewnego dnia podpiąć po prostu debuggerem pod aplikację i zobaczyć te SQLe w Visualu, w okienku Output. Była to aplikacja web - więc konsoli brak. Trial na nhprof akurat się skończył:), więc w danej minucie również niewiele można było na to poradzić.
Pod jednym z moich ostatnich postów na temat logowania Jacek zasugerował w komentarzu abym napisał trochę więcej o tym jak dzielę logi na poszczególne poziomy. Poniżej opis moich ZAMIERZEŃ. Zamierzeń, ponieważ jeszcze w ten sposób z logowania nie korzystałem, ale po dość długim rozmyślaniu wydaje mi się to najsensowniejszy podział. Może pojawią się uwagi korygujące takie podejście zanim wprowadzę je do projektu?:)
Kolejny raz o logowaniu... "bo to naprawdę ważne™" :). W świecie .NET mamy dwie liczące się biblioteki oferujące logowanie informacji z aplikacji: log4net oraz nLog. Oczywiście znajdą się też inne rozwiązania: od koszmarnych (The Logging Application Block z EntLiba) po głupie (pisanie własnego loggera i jego produkcyjne wykorzystanie).
Niedawno przedstawiłem TokenContext, klasę pomocniczą upraszczającą wyławianie kontekstu z masy logów tworzonych w aplikacji wielowątkowej, gdzie wiele operacji przeplata się nawzajem. Regularnie jednak zdarza się, że interesuje nas nie tyle jedna szczególna operacje co cały cykl życia konkretnego obiektu. Kumpel, z którym pracuję nad "głównym" projektem, zaproponował stosowanie takiej, bardzo prostej, logicznej i przydatnej, konwencji...
Architektura 4990 dni, 19 godzin, 23 minuty temu 85 źrodło rozwiń
Zwykle zapisując do logów jakąś informację dobrze jest zachować pewne powiązanie pomiędzy następującymi po sobie czynnościami. Dobrym przykładem takiej sytuacji jest np. wywoływanie ApplicationEvent, wysyłanie maila, czy właściwie jakikolwiek proces składający się z więcej niż 1 kroku. Po co? A no po to, aby potem w pliku z logami móc wyfiltrować tylko te informacje które nas faktycznie interesują. Szczególnie w środowisku wielowątkowym (czyli właściwie... zawsze?) bez tego ciężko jest dojść OCB
Architektura 5012 dni, 6 godzin, 28 minut temu 112 źrodło rozwiń
Wpisy na temat śledzenia i logowania w .NET pojawiały się już wcześniej na tym blogu (np. „Śledzenie i logowanie zdarzeń (tracing and logging) na platformie .NET (przykłady w oparciu o C#).” i „Śledzimy w .NET dalej (dzisiaj uruchomimy własny podsłuch)”). Mechanizm wykorzystania elementów platformy .NET, jak: TraceSource, TraceListener i innych związanych z nimi jest dość wygodny, tym bardziej, że są dostępne gotowe klasy typu TraceListener zapisujące w plikach logi przy pomocy XML-a lub w których każdy ...
Chciałem zaprezentować moją klasę ułatwiającą obsługę logowania w .NET, klasa ta napisana jest w c# jak sugeruje tytuł (:
poniedziałek, Sierpień 17th, 20091 komentarzASP.NET: Autoryzacja użytkownika Każda nowoczesna, dynamiczna strona posiada autoryzację użytkowników. W tej prezentacji, dowiemy się jak samemu zrobić proste logowanie na naszej stronie. Zapraszam do prezentacji, w której poruszone są następujące kwestie:Formularz logowaniaKontrolka walidacji – RequiredFieldValidatorOmówienie dostępnych metod autoryzacji w asp.netSystem.Web.Security i przykładowe wykorzystanieForms AuthorizationDodawanie użytkownika w pliku .c...