As Alex commented: double macro expansion to make __LINE__
into a string and let the compiler concatenate the strings for you:
#define S(x) #x
#define S_(x) S(x)
#define S__LINE__ S_(__LINE__)
log("Error in "__FILE__":"S__LINE__" - too many bees!");
to reduce typing, as greatwolf suggested:
#define logfl(s) log("Error in "__FILE__":"S__LINE__" - "s)
logfl("too many bees!");