Index Journal

Discussion related to "Everything" 1.5 Alpha.
Locked
void
Developer
Posts: 19069
Joined: Fri Oct 16, 2009 11:31 pm

Index Journal

Post by void »

Everything 1.5 introduces the Index Journal.

The Index Journal is a list of all the changes made to your Everything index, such as
files or folders being created, renamed, moved, modified or deleted.



With the Index Journal you can:

Monitor changes to your file systems


The Index Journal will reflect changes made to your index in real-time.
This includes changes made outside of Everything.



To limit the results to a specific action:
  • In the Index Journal, select an action:

To search for a specific file or file type, type in a partial filename or extension in the search box.
For example, to list changes to files and folders on the desktop, search for:
\desktop

For example, to list changes to docx files, search for:
.docx

Use the regex: modifier for more control.



Undo move and rename operations

The Index Journal might be useful to undo an accidental move or rename outside of Everything.
Think of the Index Journal as a global file system undo.



You can undo the following actions:
  • Folder rename
  • File rename
  • Folder move
  • File move


To undo an action:
  • In the Index Journal, select an item and click Undo.


To undo an action performed in Everything:
  • In Everything, from the Edit menu, click Undo.


To view all actions performed in Everything:
  • In Everything, from the Edit menu, click Undo History.
See Undo System for more information.


The Index Journal shows raw file system changes.
Files deleted to the recycle bin are shown with the File Move action.
To restore a file from the Recycle Bin:
  • Undo the deleted file from Everything or Windows Explorer.
    -or-
  • Select the file that was moved to the $Rxxxxxx.xxx file in C:\$RECYCLE.BIN and click Undo.


Perform other actions

Files can be deleted directly from the Index Journal:
  • Select an item and click Delete.


To open the containing folder of an item:
  • Select an item and click Open Path.
    For moved items, the new path takes precedence.
    Right click to open the old path.


To copy the full path of an item:
  • Select an item and press Ctrl + C.
    -or-
  • Right click an item and click Copy Full Path.
    For renamed items, the new path takes precedence.
    Right click to specify the old or new path.


To export results to a Comma Separated Values (CSV) file:
  • Click Export....
  • Choose a filename and click Save.


Change journal settings

By default the Index Journal will only store 1MB of changes.
1MB will store about 5000 file changes.

To change the maximum number of items the Index Journal can store:
  • In Everything, from the Tools menu, click Options.
  • Click the Indexes tab on the left.
  • Set a new Maximum Size in KB. (1024 KB is the default)
  • Click OK.


Perform advanced actions

To view how many files have been created, moved, modified or deleted and to view journal information:
  • In Everything, from the Tools menu, under the Debug submenu, click Statistics.
The Index Journal is essential to the Everything Server as an audit of all changes to your index.
Clients are able to synchronize a local index copy with the Index Journal on the Everything Server.



Log changes to a file

To enable logging to a file:
  • In Everything 1.5, from the Tools menu, click Options.
  • Click the Advanced tab on the left.
  • To the right of Show settings containing, search for:
    journal
  • Select: journal_log
  • Set the value to: true
  • Click OK.
When enabled, Everything will create a daily log file:
%LOCALAPPDATA%\Everything\Logs\index-journal-YYYY-MM-DD.txt



To change the logging format:
  • In Everything 1.5, from the Tools menu, click Options.
  • Click the Advanced tab on the left.
  • To the right of Show settings containing, search for:
    journal
  • Select: journal_log_format
  • Set the value to the log format
  • Click OK.
The default journal log format is now:

Code: Select all

$journal-id:&tab:$change-id:&tab:<FORMAT-FILETIME:$date:,"yyyy-MM-dd HH:mm:ss">&tab:<SWITCH:$action:,1,"Folder Create",2,"Folder Delete",3,"Folder Rename",4,"Folder Move",5,"Folder Modify",6,"File Create",7,"File Delete",8,"File Rename",9,"File Move",10,"File Modify","">&tab:"$filename:"&tab:"$newfilename:"


Changes can also be logged from ES (the command line interface to Everything).
void
Developer
Posts: 19069
Joined: Fri Oct 16, 2009 11:31 pm

Re: Index Journal

Post by void »

Everything 1.5.0.1397a improves the Index Journal.

Everything 1396a and earlier showed the source date for the Date column.

Everything 1397a will now show the index journal change timestamp for the Date Column.
Everything 1397a adds a new optional Source Date Changed column.

To show the Source Date Changed column:
  • In the Index Journal, right click the result list column header and check Source Date Changed.


Everything 1397a will now use the preprocessor to format journal logs for more control.

To set the journal log format:
  • In Everything 1.5, from the Tools menu, click Options.
  • Click the Advanced tab on the left.
  • To the right of Show settings containing, search for:
    log
  • Select: journal_log_format
  • Set the value to the desired format. (see below)
  • Click OK.


The following variables are supported:
$split:Show rename and moves over two lines. Use at the start of your format.
$journal-id:The current Journal ID.
$change-id:The current Change ID.
$date:The index journal change timestamp. Use with <format-filetime:>
$source-date-changed:The source change timestamp (ie: the USN Journal timestamp). Use with <format-filetime:>
$parent-date-modified:The parent date modified. Use with <format-filetime:>
$new-parent-date-modified:The new parent date modified. Use with <format-filetime:>
$date-modified:The file/folder date modified. Use with <format-filetime:>
$date-created:The file/folder date created. Use with <format-filetime:>
$date-accessed:The file/folder date accessed. Use with <format-filetime:>
$size:The file size.
$attributes:The raw file/folder attributes. Use with <format-file-attributes:>
$is-folder:Is the change a folder. Returns 1 if the change is a folder. Otherwise, 0 for files.
$is-from:Use with $split: returns 1 if the change is the old name. Otherwise, returns 0 for the new name.
$is-split:Use with $split: returns 1 if the current change action should be split (ie: a rename or move). Otherwise, returns 0.
$action:The raw action.
$filename:The filename of the changed file/folder. For split results, this is used for both the old and new filename.
$new-filename:The resulting new filename from a rename or move.

To format the raw action, use:

Code: Select all

<SWITCH:$action:,1,"Folder Create",2,"Folder Delete",3,"Folder Rename",4,"Folder Move",5,"Folder Modify",6,"File Create",7,"File Delete",8,"File Rename",9,"File Move",10,"File Modify","">


The default journal log format is now:

Code: Select all

$journal-id:&tab:$change-id:&tab:<FORMAT-FILETIME:$date:,"yyyy-MM-dd HH:mm:ss">&tab:<SWITCH:$action:,1,"Folder Create",2,"Folder Delete",3,"Folder Rename",4,"Folder Move",5,"Folder Modify",6,"File Create",7,"File Delete",8,"File Rename",9,"File Move",10,"File Modify","">&tab:"$filename:"&tab:"$newfilename:"


Logging options have also been added to ES. (the command line interface to Everything)

For example:
ES.exe -changed-today -export-csv out.csv




The Index Journal search will now expand environment variables, for example:
%TEMP%
and
%APPDATA%

The Index Journal search will now support wildcards, for example:
*.mp3




Limitations:
The source date changed is lost when you exit Everything.
The source date changed will be saved to your database in a future version.
Locked