Skip to content

An application logger for Windows with IPC functionality that communicates with your app's TCP server

License

Notifications You must be signed in to change notification settings

pateldhruv1993/Application-Logger

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

66 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Application Logger

Application Logger is a small standalone Windows application that logs the applications the current user is running at any time, adding them to a log file every time the user changes focus.

I created this because I wanted to have a log of all the applications I've been using, and what file they had open, for statistical purposes. While there are some applications and online services that already do this for you (e.g. RescueTime), no other service had the level of flexibility and raw access to data I wanted so I decided to write this myself.

The result is an application that writes data to a raw, tab-separated log file.

Usage

Download ApplicationLogger.exe. Copy it somewhere, and then run it. It will add itself to the system tray, and start logging the applications you run.

By default, it will also run at Windows startup. You can disable this behavior by right-clicking on its tray icon and deselecting that option.

After it is ran for the first time, it will also write a config file to its folder. This file has several options that dictate how the application runs; open the file for more information.

By default, it polls the active application every 0.5 seconds, and assumes the user to be away if no user input has been performed for 10 minutes.

Log format

The log file contains these fields, separated by a tab:

  • Time where an event was recorded
  • Event type
    • app::focus: an application gained focus.
    • status::idle: the user is now idle. Time is the time of the last known interaction.
    • status::stop: logging has stopped, either because the application has quit, the user has stopped logging, or because the day has ended.
    • status::end-of-day: an app focus event has occurred in a different day and a different log file, so this will be the last event in that specific log file; the app focus event will be added to the next file.
  • Machine name
  • Process name
  • Full process path
  • Main process window title (if possible)

These are some examples of log lines:

2014-12-11T12:55:12.3908117-05:00	app::focus	ZMACHINE	TweetDeck	C:\Program Files (x86)\Twitter\TweetDeck\TweetDeck.exe	TweetDeck
2014-12-11T13:00:39.6875381-05:00	app::focus	ZMACHINE	chrome	C:\Program Files (x86)\Google\Chrome\Application\chrome.exe	Showtime Anytime app comes to Xbox One | Polygon - Google Chrome
2014-12-11T13:29:55.1320650-05:00	app::focus	ZMACHINE	firefox	C:\Program Files (x86)\Mozilla Firefox\firefox.exe	C# snippets - Google Docs - Mozilla Firefox
2014-12-11T13:33:14.0059504-05:00	app::focus	ZMACHINE	notepad++	C:\Program Files (x86)\Notepad++\notepad++.exe	D:\apps\logger\ApplicationLogger.cfg - Notepad++ [Administrator]
2014-12-11T13:37:15.4130887-05:00	app::focus	ZMACHINE	explorer	C:\Windows\explorer.exe	src
2014-12-11T11:37:23.3319560-05:00	app::focus	ZMACHINE	WDExpress	C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\WDExpress.exe	ApplicationLogger - Microsoft Visual Studio Express 2013 for Windows Desktop (Administrator)
2014-12-11T13:44:53.9509379-05:00	app::focus	ZMACHINE	studio64	C:\Users\zeh.fernando\AppData\Local\Android\android-studio-0.8.14\bin\studio64.exe	android - [D:\work\QWERTY_APPS2852\dev\android-app] - [app] - ...\app\src\main\java\com\querty\obfuscated\ApplicationConstants.java - Android Studio 1.0
2014-12-11T12:24:14.1160028-05:00	status::idle			
2014-12-11T13:49:01.4716875-05:00	status::stop			

Other info

The project is a Visual Studio 2013 project. It's a single form project, so it should be fairly simple to change, customize and recompile.

This project is licensed under the WTFPL license.

About

An application logger for Windows with IPC functionality that communicates with your app's TCP server

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 45.3%
  • C++ 34.3%
  • Visual Basic .NET 15.3%
  • Logos 4.4%
  • FLUX 0.5%
  • HTML 0.1%
  • Other 0.1%