strcpy(cellConfDir, AFSDIR_SERVER_ETC_DIRPATH);
globalConfPtr->cellConfigdir = cellConfDir;
- /* open the log file */
-/*
- globalConfPtr->log = fopen(DEFAULT_LOGNAME,"a");
- if ( globalConfPtr->log == NULL )
- {
- printf("Can't open log file %s - aborting\n", DEFAULT_LOGNAME);
- BUDB_EXIT(-1);
- }
-*/
-
srandom(1);
#ifdef AFS_PTHREAD_ENV
BUDB_EXIT(0);
/* open the log file */
- globalConfPtr->log = fopen(AFSDIR_SERVER_BUDBLOG_FILEPATH, "a");
- if (globalConfPtr->log == NULL) {
- printf("Can't open log file %s - aborting\n",
- AFSDIR_SERVER_BUDBLOG_FILEPATH);
- BUDB_EXIT(-1);
- }
-
- /* keep log closed so can remove it */
-
- fclose(globalConfPtr->log);
+ OpenLog(AFSDIR_SERVER_BUDBLOG_FILEPATH);
/* open the cell's configuration directory */
LogDebug(4, "opening %s\n", globalConfPtr->cellConfigdir);
void
LogDebug(int level, char *fmt, ... )
{
- va_list ap;
-
- va_start(ap, fmt);
-
if (debugging >= level) {
- /* log normally closed so can remove it */
- globalConfPtr->log = fopen(AFSDIR_SERVER_BUDBLOG_FILEPATH, "a");
- if (globalConfPtr->log != NULL) {
- vfprintf(globalConfPtr->log, fmt, ap);
- fflush(globalConfPtr->log);
- fclose(globalConfPtr->log);
- }
+ va_list ap;
+ va_start(ap, fmt);
+ vFSLog(fmt, ap);
+ va_end(ap);
}
- va_end(ap);
-}
-
-static char *
-TimeStamp(time_t t)
-{
- struct tm *lt;
- static char timestamp[20];
-
- lt = localtime(&t);
- strftime(timestamp, 20, "%m/%d/%Y %H:%M:%S", lt);
- return timestamp;
}
void
Log(char *fmt, ...)
{
va_list ap;
- time_t now;
va_start(ap, fmt);
- globalConfPtr->log = fopen(AFSDIR_SERVER_BUDBLOG_FILEPATH, "a");
- if (globalConfPtr->log != NULL) {
- now = time(0);
- fprintf(globalConfPtr->log, "%s ", TimeStamp(now));
-
- vfprintf(globalConfPtr->log, fmt, ap);
- fflush(globalConfPtr->log);
- fclose(globalConfPtr->log);
- }
+ vFSLog(fmt, ap);
va_end(ap);
}
LogError(long code, char *fmt, ... )
{
va_list ap;
- time_t now;
+ int len;
+ char buffer[1024];
va_start(ap, fmt);
- globalConfPtr->log = fopen(AFSDIR_SERVER_BUDBLOG_FILEPATH, "a");
-
- if (globalConfPtr->log != NULL) {
- now = time(0);
- fprintf(globalConfPtr->log, "%s ", TimeStamp(now));
-
- if (code)
- fprintf(globalConfPtr->log, "%s: %s\n", afs_error_table_name(code),
- afs_error_message(code));
- vfprintf(globalConfPtr->log, fmt, ap );
- fflush(globalConfPtr->log);
- fclose(globalConfPtr->log);
+ len = vsnprintf(buffer, sizeof(buffer), fmt, ap);
+ va_end(ap);
+ if (len >= 1024) {
+ len = 1023;
+ buffer[1023] = '\0';
}
-}
-
-
-/* ----------------
- * debug
- * ----------------
- */
-
-void
-LogNetDump(struct dump *dumpPtr)
-{
- struct dump hostDump;
- extern buServerConfP globalConfPtr;
-
- dump_ntoh(dumpPtr, &hostDump);
-
- globalConfPtr->log = fopen(AFSDIR_SERVER_BUDBLOG_FILEPATH, "a");
- if (globalConfPtr->log != NULL) {
- printDump(globalConfPtr->log, &hostDump);
- fclose(globalConfPtr->log);
+ /* Be consistent with (unintentional?) historic behavior. */
+ if (code) {
+ FSLog("%s: %s\n", afs_error_table_name(code), afs_error_message(code));
+ WriteLogBuffer(buffer, len);
+ } else {
+ FSLog("%s", buffer);
}
}
-
printPrincipal(&deptr->dumper);
}
-/* printHashTable
- * print the hash table structure, i.e. the header structure.
- */
-
-void
-printHashTable(FILE *fid, struct hashTable *htptr)
-{
- fprintf(fid, "functionType = %d\n", htptr->functionType);
- fprintf(fid, "threadOffset = %d\n", htptr->threadOffset);
- fprintf(fid, "entries = %d\n", htptr->entries);
- fprintf(fid, "length = %d\n", htptr->length);
- fprintf(fid, "table = %d\n", htptr->table);
- fprintf(fid, "progress = %d\n", htptr->progress);
- fprintf(fid, "oldLength = %d\n", htptr->oldLength);
- fprintf(fid, "oldTable = %d\n", htptr->oldTable);
-}
-
/* printMemoryHashTable
* print the hash table structure, i.e. the header structure.
*/