Are logs a software engineers best friend? Yes -- follow these best - - PowerPoint PPT Presentation

are logs a software engineer s best friend yes follow
SMART_READER_LITE
LIVE PREVIEW

Are logs a software engineers best friend? Yes -- follow these best - - PowerPoint PPT Presentation

Are logs a software engineers best friend? Yes -- follow these best practices Geshan Manandhar Senior Software Engineer (THE ICONIC) @geshan whoami Senior Software Engineer Tech solution provider Agile follower Conditional


slide-1
SLIDE 1

Are logs a software engineer’s best friend? Yes -- follow these best practices

Geshan Manandhar Senior Software Engineer (THE ICONIC) @geshan

slide-2
SLIDE 2

◉ Senior Software Engineer ○ Tech solution provider ◉ Agile follower ◉ Conditional microservices believer whoami

slide-3
SLIDE 3

I am from Kathmandu, Nepal

slide-4
SLIDE 4

I work at THE ICONIC

slide-5
SLIDE 5

◉ What is application log? ◉ Why log from the application level ◉ Tools of the trade -- How? ◉ Logging Best practices ◉ Key Takeaways ◉ Demo

Agenda

slide-6
SLIDE 6

What is application log?

slide-7
SLIDE 7

“Logs are the stream of aggregated, time-ordered events collected from the output streams of all running processes and backing services.”

  • 12Factor.net

Source: https://www.12factor.net/logs

slide-8
SLIDE 8

“An application log is a file of events that are logged by a software application. It contains errors, informational events and warnings.”

  • Technopedia

Source: https://www.techopedia.com/definition/1819/application-log

slide-9
SLIDE 9

Application logs are like having the right reading glasses

slide-10
SLIDE 10

Why log from application level?

slide-11
SLIDE 11

“The feature I deployed to production last week was working fine till yesterday, but now I have no idea why it is not working!”

  • One of us
slide-12
SLIDE 12

Logs help to pinpoint the exact place where the software is not working as expected

slide-13
SLIDE 13

To stop speculating and figure out the real data and metrics on any env

slide-14
SLIDE 14

Logs are one of the ways your app communicates back to you

slide-15
SLIDE 15

Even if you land into a mess, you know a way to sort things fast (MTTR)

slide-16
SLIDE 16

Having proper logs is like having a torch in a dark place

slide-17
SLIDE 17

Tools of the trade -- How?

slide-18
SLIDE 18

Please don’t hammer the screw :)

slide-19
SLIDE 19

Simplified components of logging

Application generates logs Software that parses, analyzes and shows logs Logs are ingested Using a library or

  • ver https

Software Engineer views/searches logs Local File / Stdout Logs are shipped/ingested with an agent or log shipper

slide-20
SLIDE 20

Use a trusted logging library

Language Library Github stars

PHP Monolog ~16.0k TypeScript/JS Winston ~14.2k Python Native N/A

Note: Don’t forget about monolog handlers and formatters :)

slide-21
SLIDE 21

Use a trustworthy software to view and search your logs

Self Hosted SAAS Cloud Provider Based

slide-22
SLIDE 22

No tail -f ..., a good UI to view/search logs will make your life a lot easier

slide-23
SLIDE 23

Logging best practices

slide-24
SLIDE 24

Log information optimally Too Much = noise, too less = inadequate information

slide-25
SLIDE 25

Always follow logs severity standards Emergency = phone rings at 1 AM, Info = good to know

RFC-5425 (8 Levels) Emergency Alert Critical Error Warning Notice Info Debug

slide-26
SLIDE 26

Structure your logs Structured logs are easier to parse and search, always provide context.

slide-27
SLIDE 27

Don’t hamper speed and performance Write logs locally or async as far as possible, may be use a queue and consumer.

slide-28
SLIDE 28

Add traceability for microservices Same request ID travels across services. Ability for distributed tracing.

slide-29
SLIDE 29

Do not log sensitive information Like passwords, credit card information, phone numbers etc

slide-30
SLIDE 30

Key Takeaways

slide-31
SLIDE 31

Start logging today

slide-32
SLIDE 32

It is easier than you think and benefits outweigh the cost

slide-33
SLIDE 33

Logs can reveal things you didn’t know existed at unexpected sources

slide-34
SLIDE 34

Logging > error tracking, it keeps a track of your application health

slide-35
SLIDE 35

Find the right tools, invest in a log management software that suits your needs

slide-36
SLIDE 36

Logs with optimally configured alerts are very powerful

slide-37
SLIDE 37

Demo

  • https://github.com/geshan/laravel6-logging
  • Pull Request - PR
slide-38
SLIDE 38

Logs are an integral part of building happy, robust and scalable software

slide-39
SLIDE 39

Any questions? Later :) THE ICONIC is hiring - Engineering Manager

You can find me at ◉ @geshan (geshan@gmail.com) ◉ Geshan.com.np ◉ Slides: bit.ly/logging-lau

Thanks!

Presentation template by SlidesCarnival

slide-40
SLIDE 40

Credits/References

◉ https:/ /pixabay.com/en/primate-ape-thinking-mimic-view-1019101/ ◉ https:/ /pixabay.com/photos/batch-dry-firewood-forestry-logs-1868104/ ◉ https:/ /www.techopedia.com/definition/1819/application-log ◉ https:/ /www.scalyr.com/blog/application-logging-practices-adopt/ ◉ https:/ /unsplash.com/photos/4Bs9kSDJsdc ◉ https:/ /unsplash.com/photos/FtZL0r4DZYk ◉ https:/ /pixabay.com/photos/calm-water-clear-drink-glass-2315559/ ◉ https:/ /pixabay.com/photos/backdrop-block-brick-building-21534/ ◉ https:/ /www.afcent.af.mil/News/Art/igphoto/2000289219/ ◉ https:/ /unsplash.com/photos/MS0q8GqjVrY ◉ https:/ /pixabay.com/photos/tools-work-repair-hammer-2145770/ ◉ https:/ /pixabay.com/photos/needle-in-a-haystack-needle-haystack-1752846/ ◉ https:/ /pixabay.com/photos/building-zen-man-boy-pyramid-game-2665812/ ◉ https:/ /unsplash.com/photos/0vsk2_9dkqo ◉ https:/ /unsplash.com/photos/pUT2Ujm6FP4 ◉ https:/ /unsplash.com/photos/ZaGcU6BxJEc ◉ https:/ /peter.bourgon.org/blog/2016/02/07/logging-v-instrumentation.html ◉ https:/ /www.loggly.com/blog/30-best-practices-logging-scale/ ◉ https:/ /geshan.com.np/blog/2015/08/importance-of-logging-in-your-applications/ ◉ https:/ /www.scalyr.com/media-gallery-4/ ◉ https:/ /aws.amazon.com/blogs/developer/php-application-logging-with-amazon-cloudwatch-logs-and-monolog/ ◉ https:/ /raygun.com/blog/what-is-mttr/ ◉ https:/ /pixabay.com/photos/pc-computer-stethoscope-technology-3540378/ ◉ https:/ /krebsonsecurity.com/2019/03/facebook-stored-hundreds-of-millions-of-user-passwords-in-plain-text-for-years/