summaryrefslogtreecommitdiff
path: root/src/journal/sd-journal.c
AgeCommit message (Collapse)Author
2013-04-04journal: add sd_journal_get_timeout() call to public APILennart Poettering
Let's do the wake-up logic on NFS internally, making things simpler for users.
2013-04-04journal: add public API call sd_journal_get_events()Lennart Poettering
This function should be used when filling in "struct pollfd"'s .events field for watching the journal. It will always return POLLIN for now, but we should keep our options open to change this later on. This mimics libsystemd-bus' sd_bus_get_events() call with the same purpose.
2013-03-28catalog: open up catalog internalsZbigniew Jędrzejewski-Szmek
In order to write tests for the catalog functions, they are made non-static and start taking a 'database' parameter, which is the name of a file with the preprocessed catalog entries. This makes it possible to make test-catalog part of the normal test suite, since it now only operates on files in /tmp. Some more tests are added.
2013-03-23journal: don't access j->files after useLennart Poettering
https://bugs.freedesktop.org/show_bug.cgi?id=62605
2013-03-23journalctl: various fixes to the access check logicLennart Poettering
- Reword messages a bit - Correct check whether EACCES is in the set of errors - Don't complain if no journal files are found - allocate Set object for errors lazily since in the best case we don't need it at all. - don't consider it an error if /run/log/journal doesn't exist (because that's the usual case actually, if storage is enabled)
2013-03-22journalctl: be smarter about journal error checksZbigniew Jędrzejewski-Szmek
There are many ways in which we can get those checks wrong, so it is better to warn and then error out on a real access failure. The error messages are wrapped to <80 lines, because their primary use is to be displayed in the terminal, and it is easier to read them this way. Reading them in the journal can be a bit trickier, but this is a bug in logs-show.c.
2013-03-18sd-journal: do not require path to be absoluteZbigniew Jędrzejewski-Szmek
Seems natural to be able to specify relative directory, e.g. with journalctl -D. And even if, this should be checked in front-end code, not in the library.
2013-03-18journal: use _cleanup_Zbigniew Jędrzejewski-Szmek
One log_debug() moved to match order in other functions.
2013-03-18journal: use sd_journal_close on error in sd_journal_newZbigniew Jędrzejewski-Szmek
2013-03-07libsystemd-journal: return 0 on success in get_data()Zbigniew Jędrzejewski-Szmek
The man page says so. Right now 0 would be returned if the data was encrypted, 1 otherwise.
2013-02-26log-show: look at everything in /run/log/journalZbigniew Jędrzejewski-Szmek
Logs written by journald from the initramfs may be written to a directory with the name created from a random machine-id. Afterwards, when the root filesystem has been mounted and machine-id reinitalized, logs will be written to the directory with a name created from the proper machine-id. When logs are flushed to /var/log/journal, everything is copied to one output directory. When journalctl without '-m' is run after the logs have been flushed to /var/log/journal, all messages are shown. However, when run while logs are still in /run/log/journal, those stored under the random machine-id will not be shown. Make journalctl behave the same regardless whether persistent storage has been enabled or not, and slurp all files from /run/log/journal even without '-m'.
2013-02-22journal: sd_journal_get_cursor should return 0 on successZbigniew Jędrzejewski-Szmek
Documentation states that 0 is correct, and all other similar functions return 0 on success. Pointed-out-by: Steven Hiscocks <steven-systemd@hiscocks.me.uk>
2012-11-21journal: by default do not decompress dat objects larger than 64KLennart Poettering
This introduces a new data threshold setting for sd_journal objects which controls the maximum size of objects to decompress. This is relieves the library from having to decompress full data objects even if a client program is only interested in the initial part of them. This speeds up "systemd-coredumpctl" drastically when invoked without parameters.
2012-11-20journal: add sd_journal_get_catalog_for_message_id() as API to get catalog ↵Lennart Poettering
entry for any message ID without requiring an open journal file
2012-11-16journal, shared: fix warnings during compilation on 32 bitsZbigniew Jędrzejewski-Szmek
Some filesystem magics are too big to fit in 31 bits, and are wrapped to negative. f_type is an int on 32 bits, so it is signed, and we get a warning on comparison.
2012-11-15journal: implement message catalogLennart Poettering
The message catalog can be used to attach short help texts to log lines, keyed by their MESSAGE_ID= fields. This is useful to help the administrator understand the context and cause of a message, find possible solutions and find further related documentation. Since this is keyed off MESSAGE_ID= this will only work for native journal messages. The message catalog supports i18n, and is useful to augment english language system messages with explanations in the local language. This commit only includes short explanatory messages for a few example message IDs, we'll add more complete documentation for the relevant systemd messages later on.
2012-10-26journal: provide an API that allows client to figure out whether they need ↵Lennart Poettering
to recheck the journal manually for changes in regular intervals Network file systems generally do not offer inotify() that would work across the network. We hence cannot rely on inotify() exclusiely in those case. Provide an API to determine these cases, and suggest doing manual regular rechecks. Note that this is not complete yet, as we need to rescan journal dirs on network file systems explicitly to find new/removed files
2012-10-26journal: properly determine cutoff max dateLennart Poettering
2012-10-18journal: typo fixLennart Poettering
2012-10-18journal: validate field name in sd_journal_query_unique()Lennart Poettering
2012-10-18libsystemd-journal: export sd_journal_restart_uniqueZbigniew Jędrzejewski-Szmek
2012-10-18journal: add ability to list values a specified field can take in all ↵Lennart Poettering
entries of the journal The new 'unique' API allows listing all unique field values that a field specified by a field name can take in all entries of the journal. This allows answering queries such as "What units logged to the journal?", "What hosts have logged into the journal?", "Which boot IDs have logged into the journal?". Ultimately this allows implementation of tools similar to lastlog based on journal data. Note that listing these field values will not work for journal files created with older journald, as the field values are not indexed in older files.
2012-10-16journalctl: properly track rotated journals in follow modeLennart Poettering
2012-10-16sd-journal: fix bad memory accessLennart Poettering
2012-10-10journal: when browsing the journal via browse.html allow clicking on entries ↵Lennart Poettering
to show their details
2012-10-10journal: drop path name from cursor stringsLennart Poettering
we had this mostly for debugging purposes and it was ignored when parsing anyway, so let's get rid of it
2012-10-10journal: make sure sd_journal_seek_cursor() seeks to the specified entry if ↵Lennart Poettering
it exists, not one after it
2012-09-28sd-journal: properly parse cursor stringsLennart Poettering
2012-09-19util: define union dirent_storage and make use of it everywhereLennart Poettering
Make sure to allocate enough space for readdir_r(). https://bugzilla.redhat.com/show_bug.cgi?id=858754
2012-09-19journal: when comparing two entries from separate files make sure we ↵Lennart Poettering
reposition the mmap window The mmap cache doesn't guarantee that we can look at two files at the same time. Hence make sure to look at the entries to compare one after the other, instead of at the same time when comparing them, and reposition the window in between.
2012-09-07journal: add call to determine current journal file disk usageLennart Poettering
2012-08-23sd-journal: return null when mmap_cache_new failsLukas Nykryn
2012-08-18mmap: resize arrays dynamicallyLennart Poettering
2012-08-16journal: implement generic sharable mmap caching logicLennart Poettering
instead of having one simple per-file cache implement an more comprehensive one that works for multiple files and can actually maintain multiple maps per file and per object type.
2012-08-13journald: initial version of FSPRG hookupLennart Poettering
This adds forward-secure authentication of journal files. This patch includes key generation as well as tagging of journal files, Verification of journal files will be added in a later patch.
2012-08-07journalctl: include corrupted files in outputLennart Poettering
If a journal file was rotated away because it was corrupted or dirty we should still show its contents via "journalctl".
2012-07-19journal: allow watching symlinked journal dirsLennart Poettering
2012-07-19journal: when watching directories actually watch the directories asked forLennart Poettering
2012-07-19journal: follow symlinks when enumerating journalsLennart Poettering
2012-07-19journald: don't choke on journal files with no cutoff dateLennart Poettering
2012-07-17journal: size journal data hash table based on maximum file size metricsLennart Poettering
The default of 2047 hash table entries turned out to result in way too many collisions for bigger files, hence scale the hash table size by the estimated maximum file size.
2012-07-17journal: automatically rotate journal files if the data hash table is full > 75%Lennart Poettering
Previously, when the main data hash table grows too full the performance simply started to decrease drastically. Instead, now simply rotate to a new journal file as the hash table gets to full, so that we can start with a new fresh empty hash table.
2012-07-16Spelling fixes.Ville Skyttä
2012-07-15journal: align byte-buffer that gets cased to an objectKay Sievers
On Sun, Jul 15, 2012 at 2:00 PM, Koen Kooi <koen@dominion.thruhere.net> wrote: > | src/journal/sd-journal.c: In function 'sd_journal_process': > | src/journal/sd-journal.c:1891:21: warning: cast increases required alignment of target type [-Wcast-align] > | src/journal/sd-journal.c:1900:29: warning: cast increases required alignment of target type [-Wcast-align]
2012-07-13util: rename join() to strjoin()Lennart Poettering
This is to match strappend() and the other string related functions.
2012-07-13journal: beef up journal matches considerablyLennart Poettering
we now can take multiple matches, and they will apply as AND if they apply to different fields and OR if they apply to the same fields. Also, terms of this kind can be combined with an overreaching OR.
2012-07-13journal: check fields we search for more carefullyLennart Poettering
2012-07-13journal: fix interleaving of files with different time sourcesLennart Poettering
2012-07-11journalctl: add a marker to log output for rebootsLennart Poettering
With this we'll print a marker "----- Reboot -----" between two subsequent lines with different boot IDs.
2012-07-11journal: rework directory enumeration/watch logicLennart Poettering
There's now sd_journal_new_directory() for watching specific journal directories. This is exposed in journalctl -D. sd_journal_wait() and sd_journal_process() now return whether changes in the journal are invalidating or just appending. We now create inotify kernel watches only when we actually need them